Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Άλλη μια ερωτησούλα για σήμερα. :-)

 

Λοιπόν, έχω μια HTML σελίδα και ένα PHP script όπου γίνονται post κάποια δεδομένα.

Θέλω να πετύχω το εξής:

- Σε κάθε φόρτωμα σελίδας, να γίνεται generate μια συμβολοσειρά (ας πούμε 32 χαρακτήρων ή όσων να 'ναι) και να μπαίνει στη φόρμα (input type="hidden").

- Όταν ο χρήστης αποστέλλει τη φόρμα, αυτή η συμβολοσειρά θα πρέπει να περνάει από ένα είδος validation, δηλαδή, να επιβεβαιώνεται ότι είναι ορθή, κι έτσι, αν είναι σωστή να προχωράει το script και αν όχι να κάνει exit.

 

Το securitytoken δε θα πρέπει να είναι προβλέψιμο, οπότε σε κάθε φόρτωμα σελίδας θα πρέπει να είναι πολύ διαφορετικό.

 

Αυτό που προσπαθώ να φτιάξω δεν είναι τίποτα σπουδαίο, απλά δεν θέλω να μπορεί ο καθένας να κάνει συνέχεια post δεδομένα (καθώς μιλάμε για script που θα απευθύνεται σε επισκέπτες και όχι σε εγγεγραμμένα μέλη). Αλλά δεν μιλάμε για τρελές απαιτήσεις ασφαλείας.

 

Σκέφτηκα να κάνω generate ένα md5 με διάφορα μέσα συν την time() (πχ md5(time() . 'lalala') και μετά με μια δομή επανάληψης να τσεκάρω αν το md5 έγινε generate τα τελευταία X λεπτά, όμως μάλλον θα είναι πολύ βαρύ σαν εφαρμογή + ότι μερικοί χρήστες αφήνουν για ώρες ανοιχτή μια σελίδα και μετά τη χρησιμοποιούν (= κάνουν submit μια φόρμα). Καμιά ιδέα; :-)

 

Έχω κολλήσει στο ότι δεν ξέρω πως να κάνω validation.

Δημοσ.

Αυτό που λες γενικά δεν γίνεται (με τη μαθηματική έννοια της 100% επιτυχίας). Διότι ζητάς στην ουσία να αναγνωρίσεις με βεβαιότητα τον επισκέπτη Χ ανάμεσα σε όλους τους άλλους επισκέπτες όταν ο επισκέπτης Χ ούτε θέλει ούτε είναι αναγκασμένος να συμμετέχει στη διαδικασία της αναγνώρισης.

 

Απο κει και πέρα το μόνο που μένει είναι να επιλέξεις στρατηγική παρεμπόδισης των ανεπιθύμητων κατάλληλα με βάση το πόσο σε πονάνε τα false positives (να μην αφήσεις κάποιον να ποστάρει χωρίς να "φταίει") και πόσο τα false negatives (να τον αφήσεις να ποστάρει ενώ αν ήσουν παντογνώστης δε θα το έκανες).

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...