PHP Mail Forms & Security

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

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

Απάντηση
Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

PHP Mail Forms & Security

Δημοσίευση από Cha0s » 20 Αύγ 2006 15:55

Ακούω τεχνικές για ασφάλεια πάνω στις contact forms στα site μας.


Συνηθες φαινόμενο τον τελευταίο τουλάχιστον χρόνο, είναι διάφορα bots που χρησιμοποιούν τις contact forms για να στέλνουν spam.


Ρίχτε καμιά ιδέα πως να τα κόβουμε, μπορεί να βγει κάτι αποτελεσματικό αν δώσουμε όλοι από κάτι :P :wink:


Thanks,
Ο ξενερωμένος admin από την PHP :hammer: :kaloe:

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

PHP Mail Forms & Security

Δημοσίευση από cherouvim » 20 Αύγ 2006 16:12

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

<label for="captcha">Please enter how much is 3+9&#58;</label><input type="text" name="captcha" id="captcha" />

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

PHP Mail Forms & Security

Δημοσίευση από cherouvim » 20 Αύγ 2006 16:29

html

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

<form action="you-are-a-bot.php" rel="true-submit-script.php" method="post">
  <label for="name">Name&#58; </label>  <input type="text" id="name" name="name" /><br />
  <label for="mail">e-mail&#58; </label><input type="text" id="mail" name="mail" /><br />
  <input type="submit"/>
</form>
javascript

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

function init&#40;&#41; &#123;
	for&#40;var i=0; i<document.forms.length; i++&#41; &#123;
		var form = document.forms&#91;i&#93;;
		if &#40;form.getAttribute&#40;"rel"&#41;&#41;
			form.setAttribute&#40;"action", form.getAttribute&#40;"rel"&#41;&#41;;
	&#125;
&#125;

window.onload=init;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

PHP Mail Forms & Security

Δημοσίευση από fafos » 20 Αύγ 2006 17:09

Ta perissotera bots exoun apenergopoihmenh thn javascript otan stelnoun spams..
Ego to antimetopizo me 3 tropous:

1.. Ola ta validates einai se php coding

2.. Xrhsimopoio captcha (image verification)

3.. Opou zhtao arithmitika pedia (thlefono, TK klp) vazo os validate to akrives mhkos toy thlefonou, TK kok dioti ta bots den gnorizoun ellinika kai vazoun se auta ta pedia oti tous katevei :D
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

PHP Mail Forms & Security

Δημοσίευση από Cha0s » 20 Αύγ 2006 18:17

Να πω και εγώ κάποια που μου έρχονται στο μυαλό τώρα.

-Όταν ο χρήστης συμπληρώνει το mail του, να γίνεται verification και να μην αφήνει να μπει παραπάνω από 1 mail (χωρισμένο με κόμματα πχ).

-με cookie ή ip based να μην μπορεί ο ίδιος χρήστης/bot να στείλει κιάλλο mail για κάποιο χρονικό διάστημα


συνεχίστε, στο τέλος θα έχουμε την υπερ-contact form :D:D

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

PHP Mail Forms & Security

Δημοσίευση από Banavas » 20 Αύγ 2006 19:01

Εκτός από τα contact us στο μάτι του κυκλώνα βρίσκονται και τα guestbooks.

Δείτε βασικές τεχνικές ασφάλειας στο παρακάτω τουτοριαλ
http://codewalkers.com/tutorials/97/1.html
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

PHP Mail Forms & Security

Δημοσίευση από Cha0s » 20 Αύγ 2006 19:20

Nice tut :)

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

PHP Mail Forms & Security

Δημοσίευση από Cha0s » 22 Αύγ 2006 14:23

Καμιά άλλη ιδέα;

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

PHP Mail Forms & Security

Δημοσίευση από iffor » 22 Αύγ 2006 14:46

Την είχα πατήσει άσχημα με αυτά τα bot-ακια και τις φόρμες επικοινωνίας μου... ( LookHere )

Δες λιγάκι και αυτό, βοηθάει σε γενικές γνώσεις του προβλήματος!

Και γενικώς google-άρισε τις "Form Post Hijacking" και θα βρεις ωραία πραγματάκια!!!

Πάντως σαν γενική λύση συμφωνώ και εγώ με το σχολαστικό φιλτράρισμα μέσω php των fields
και με την χρήση captcha!!!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

PHP Mail Forms & Security

Δημοσίευση από Banavas » 22 Αύγ 2006 18:07

Το πολύ το κυριε ελέησον το βαριέται κι ο Θεός...

Η χρήση CAPTCA κάνει κουραστική την συμπλήρωση μιας φόρμας οπότε θεωρώ οτι η χρήση του θα πρέπει να είναι περιορισμένη στα άκρως απαραίτητα.
Happy coding....
Μάρκος
http://lasernet.gr

zeppos
Δημοσιεύσεις: 431
Εγγραφή: 26 Μαρ 2006 10:43
Τοποθεσία: Kyklades
Επικοινωνία:

PHP Mail Forms & Security

Δημοσίευση από zeppos » 25 Αύγ 2006 12:53

Είχα τελευταία και εγώ μεγάλο πρόβλημα με τις php φόρμες.
Εφαρμόζοντας πολλά data filtering τα λιγόστεψα αρκετά. Συνεχίζονταν όμως να στέλνονται με την χρήση του "Content-Type:" από τα πεδία header.
Βρήκα το παρακάτω που μαλλον τα σταμάτησε (δεν έχω λάβει εδώ και λίγες μέρες)
foreach( $_POST as $value ){
if(strpos($value,'Content-Type:') !== FALSE ){
mail('admin@mysite.gr','Spammer Bot Attempt Contact_form',$_SERVER['REMOTE_ADDR']);
exit("{$_SERVER['REMOTE_ADDR']} Has been Recorded..Invalid entry!");
}}

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

PHP Mail Forms & Security

Δημοσίευση από vcore » 21 Οκτ 2006 22:39

Hello :D

Εγώ πάλι θα σας δείξω κάτι που ικανοποιεί τις ανάγκες μου :pint:

Τα bots μου στέλνανε Mail με το domain μου .

π.χ στο πεδία της φόρμας έπερνα 2365236@domain.gr. δηλαδή αυτή η μπότα χρησιμοποιούσε το domain μου και με spammare για όλα τα πεδία της φόρμας οπότε μια μπακαλόυς υλοποίηση:

if (($isname == "@mydomain.gr") || ($isaddress == "@mydomain.gr") || ($isdayphone == "@mydomain.gr") || ($isevephone == "@mydomain.gr") || ($ismobphone == "@mydomain.gr") || ($ismail == "@mydomain.gr") || ($iscomments == "@mydomain.gr") || ($isadate == "@mydomain.gr") || ($istbudget == "@mydomain.gr") || ($ishear == "@mydomain.gr")) {

echo "";

} else {

ένα echo και δεν λαμβάνω τίποτα απλά.
Αυτά απο μένα σίγουρα υπάρχουν μπότες με διαφορετικές λειτουργίες το θέμα είναι να δεις πως σε spammaroun και να βρεις τρόπο να τις κόψεις :hammer:

Εβίβα μας :pint:

Απάντηση

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

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

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