contact form & spam form robots

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
wipegr
Δημοσιεύσεις: 33
Εγγραφή: 07 Απρ 2006 20:03

contact form & spam form robots

Δημοσίευση από wipegr » 03 Μάιος 2007 02:04

i megali maxi metaksi twn webmasters kai twn spammers sinexizetai...

poios einai telika o tropos pou ta spam form robots mporoun telika na niki8oun?...

8a h8ela tis prwtaseis sas gia mia 100% lisi se auto to problem.

euxaristw

lakritidis
Δημοσιεύσεις: 401
Εγγραφή: 04 Αύγ 2005 14:35
Τοποθεσία: Katerini
Επικοινωνία:

contact form & spam form robots

Δημοσίευση από lakritidis » 03 Μάιος 2007 08:01

Όταν φτιάχνουμε φόρμες μπορούμε να εφαρμόσουμε δύο επίπεδα ασφάλειας

1. client-side
2. server-side

Τους client-side ελέγχους τους κάνουμε για να αυξήσουμε την ευχρηστία της σελίδας μας στην περίπτωση που τη φόρμα τη συμπληρώνει κάποιος άνθρωπος. Κάνουμε χρήση Javascript έτσι ώστε να μη χρειαστεί να ταξιδέψει η πληροφορία στο server ώστε να δει ο χρήστης έκανε λάθος. Με τη Javascript κάνουμε χρήση dialog-boxes (δε συμπληρώστε όνομα ή e-mail κλπ).

Οι client-side έλεγχοι έιναι παντελώς άχρηστοι στην καταπολέμηση των bots.

Εκεί πιάνουν δουλειά οι server-side έλεγχοι, δηλαδή το script (php) που αναλαμβάνει την αποστολή των δεδομένων στον προορισμό τους (e-mail, database κλπ). Τα δεδομένα θα πρέπει να πληρούν τα κριτήρια που θέτουμε. Αυτό ονομάζεται input validation:

1. Να έχουν συμπληρωθεί τα απαραίτητα παεδία που έχουμε θέσει
2. Το μήκος (string length) να είναι μέσα σε καθορισμένα όρια (που να γνωστοποιούμε στο χρήστη). Στην php με χρήστη της strlen και μιας if, αυτό είναι παιχνιδακι.
3. Να μην επιτρέπουμε τη χρήση html tags από τους users (τα ρομποτάκια στέλνουν links).
πχ

Κώδικας: Επιλογή όλων

if &#40;ereg &#40;'href', $_POST&#91;'name'&#93;&#41; || ereg &#40;'<b>', $_POST&#91;'name'&#93;&#41; || ereg &#40;'<strong>', 
$_POST&#91;'name'&#93;&#41; || ereg &#40;'<i>', $_POST&#91;'name'&#93;&#41; || ereg &#40;'<script', $_POST&#91;'name'&#93;&#41; || 
ereg &#40;'<u>', $_POST&#91;'name'&#93;&#41; || ereg &#40;'<table', $_POST&#91;'name'&#93;&#41; || ereg &#40;'<p', 
$_POST&#91;'name'&#93;&#41; || ereg &#40;'<li', $_POST&#91;'name'&#93;&#41;&#41; &#123;
		echo "The name you entered contains HTML tags.";
&#125;
4. Το βασικότερο όπλο μας είναι το image verification (captcha), δηλαδή να εμφανίζουμε μία random είκόνα με κείμενο και να ζητάμε από το χρήστη να πληκτρολογήσει το τυχαίο κείμενο που εμφανίζεται στην εικόνα. Το captcha θα πρέπει:

α. Να είναι εικόνα (χρήση της gd library της php)
β. να είναι αλλοιωμένο (ώστε τα ρομποτάκια με δυνατότητες OCR να μη μπορούν να διαβάσουν το κείμενο).

Το captcha έχει το μειονέκτημα ότι εκνευρίζει τους χρήστες, ειδικά αν πρέπει να συμπληρωθούν πολλές φόρμες. Υπάρχουν πολλές έξυπνες τακτικές, όπως πχ να ζητάς από το χρήστη να δώσει το αποτέλεσμα μιας τυχαίας πράξης (πχ 3 + 6), πάντα μέσω captcha.

Θέλει υπομονή και αρκετές γνώσεις για να τα κάνεις όλα αυτά. Το input validation είναι ένα αληθινό μαρτύριο.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

contact form & spam form robots

Δημοσίευση από Rapid-eraser » 03 Μάιος 2007 09:10

To captcha dev simevei oti 8a eivai eikova apoklistika mporei va eivai kai mia 'logiki' erotisi me keimevo kati pou eva aftomatopiimevo sistima dev mporei va to kserei apo mprosta.

8a simfoviso kai egw oti eivai poli ekvebristiki me8odos idios otav se
bazei o allos va kaveis prakseis me polla psifia kai megala voumera,
n sxedia pou 8elouv poli prosoxi gia va bgaleis simperasma.

Kati pio aplo 8a ntav n xrisi evw flash arxeiou me divamiko fortoma tou periexomevou !!
afto isos 8a ntav poli pio boliko apo mia apli xrisi eikovas.

Apla n xrisi tis eikovas favike stnv arxi arketa kali giati parablepsame tnv xrisi tou OCR/ReadIRIS

Telos n idea xrisi ajax sto validation twv formwv dixvei va epikratei olo kai perisotero,
dld avti va kaveis to piotiko elegxo telios me javascript - tov pervas se php kaveis oti dior8oseis/protaseis xriazese kai tis epistrefeis stov xristi.

Eva episis metro to opoio xrisimopiisa paliotera ntav n xrisi RBL listas... oso kai fevete asxeto to 20% me 30% twv epi8esewv pou mplokarise to sigkekrimevo form ntav meso tis anti-spam list apo SAMPCOP !!!!
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

wipegr
Δημοσιεύσεις: 33
Εγγραφή: 07 Απρ 2006 20:03

contact form & spam form robots

Δημοσίευση από wipegr » 03 Μάιος 2007 10:48

oles oi me8odoi dokimasmenoi ektos apo to verification twn fields gia links ka8ws katalavenete den mporeis na apotrepseis-apagoreuseis se ena xristi swsto na sou stilei kapoio link.

Akoma se mia etairia den mporeis na xrisimopoieis kapoio image verification an kai auto spaei... opws eipate swsta.

Poli kali idea einai to verification me ajax kai ena demo me apostoli email ston xristi gia verification tou email tou prin tin oloklirwsi tis apostolis tis formas pou dokimazw twra alla i litourgikotita einai crap se teliki analisi.

AYTO pou xrisimopoiw auti tin stigmi kai apo oti exw dei apotrepei (exoun egatalipsei tin prospa8ia oi spammers) einai to reserve tis ip tous gia 10 lepta me apotelesma poia na me afisoun isixo.

Thnx gia to response sas!!!!

lakritidis
Δημοσιεύσεις: 401
Εγγραφή: 04 Αύγ 2005 14:35
Τοποθεσία: Katerini
Επικοινωνία:

contact form & spam form robots

Δημοσίευση από lakritidis » 03 Μάιος 2007 11:21

Δεν αποτρέπεις το χρήστη να σου στείλει link. Τις HTML tags απορρίπτεις. Ένας άνθρωπος (ειδικά χωρίς γνώσεις HTML), δε στέλνει το link έτσι:

Κώδικας: Επιλογή όλων

<a href="http&#58;//www.link.com">Click here</a>
αλλά έτσι:

Κώδικας: Επιλογή όλων

http&#58;//www.link.com. 
Αυτό επιτρέπεται. Ειδικά όμως την <script> καλό είναι να την απορρίπτεις.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες