mail() και spam

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

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

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

mail() και spam

Δημοσίευση από iffor » 19 Νοέμ 2005 19:49

Ακούστε λιγάκι και αυτό!
Μου έρχεται μήνυμα από μία φόρμα επικοινωνίας που είχα φτιάξει
με τα κλασσικά πεδία [Επίθετο] [email] και [παρατηρήσεις]
Χρησιμοποιώ την mail για την αποστολή του μηνύματος
Όταν μου ήρθε κάποια μέρα ένα μήνυμα διαπίστωσα κάτι έκπληκτος!!!
Το συγκεκριμένο μήνυμα είχε πάει σε πάρα πολλές διευθύνσεις με spam σκοπό, ενώ εγώ είχα ώς παραλήπτη μόνο το δικό μου mail στην mail()
Διαπίστωσα ακόμη ότι στο πεδίο [Επιθετο] αυτός που χρησιμοποίησε την φόρμα μου είχε βάλει ένα πολύ μεγάλο string το οποίο αποτελούταν, εκτός από ένα nick name, από πληροφόριες για τα headers οι οποίες είχαν στην παράμετρο bcc ένα σωρό emails.
Αποτέλεσμα ήταν να γίνει μετάδωση span μηνυμάτων από την φόρμα μου χωρίς να το πάρω χαμπάρι...!!!
Νόμιζα ότι η mail πέρνει τα ορίσματα με κάποια σειρά και οπότε τα headers ως τελευταία παράμετρο στο κάλεσμα της...δεν ξέρω τελικά...
Μπορεί κάποιος να με βοηθήσει στο να μου πει αν όλη την υπόθεση την έχω καταλάβει λάθος και τελικά μπορεί να φταίει κάτι άλλο?
Για την φόρμα επικοινονίας και το script που χρησιμοποίησα για την αποστολή μηνύματος τα πήρα από την php.net στο κεφάλαιο της mail, απλά πραγματάκια!
Οποιαδήποτε βοήθεια στην ασχετοσύνη μου ευπρόσδεκτη!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

mail() και spam

Δημοσίευση από billt » 19 Νοέμ 2005 21:00

Πρέπει να ελέγξεις τις μεταβλητές της φόρμας αποστολής ώστε να μην μπορεί κάποιος να συμπληρώνει παράλογα πράγματα.

πχ μπορείς να
ελεγξεις την μορφή του email που εισάγει κάποιος:

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

<?php

if&#40;$_POST&#91;email&#93;&#41;&#123;
if &#40;!eregi&#40;"^&#91;_a-z0-9-&#93;+&#40;\.&#91;_a-z0-9-&#93;+&#41;*@&#91;a-z0-9-&#93;+&#40;\.&#91;a-z0-9-&#93;+
$error = "<BR>Λάθος διέυθυνση αλληλογραφίας";
&#125;

?>
ή το μήκος μιας μεταβλητής :

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

<?php
if&#40;strlen&#40;$_POST&#91;email&#93;&#41;>50&#41;&#123; $error = "<BR>Λάθος φορμαρισμένη διέυθυνση αλληλογραφίας";&#125;

?>

Ελπίζω να βοήθησα λίγο :D

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

mail() και spam

Δημοσίευση από fafos » 19 Νοέμ 2005 21:50

Nomizo oti o kalyteros tropos einai na valeis ena image verification opos h parakato:

http://www.php-mysql-tutorial.com/user- ... 8e32df93b6

Άβαταρ μέλους
mpalarinas
Δημοσιεύσεις: 125
Εγγραφή: 28 Οκτ 2005 20:08
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

mail() και spam

Δημοσίευση από mpalarinas » 20 Νοέμ 2005 02:48

Βασικά δώσε τον κώδικα για να κοιτάξουμε λίγο μήπως έχεις κάνει κάτι λάθος εσύ άθελα σου κατά την διάρκεια κατασκευής της φόρμας.
Εικόνα

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

mail() και spam

Δημοσίευση από iffor » 21 Νοέμ 2005 11:32

Αυτή ήταν και η πρώτη μου ιδέα!
Δηλ. να περιορίσω το μέγεθος του πεδίου name και email ώστε να μην μπορεί να περάσει και πληροφορίες headers, τίγίνεται όμως με το πεδίο για τις παρατηρήσεις...?
Μπορώ να το περιορίσω, αλλά θα πρέπει να του αφήσω και κάποιο χώρο, χώρο όμως που θα μπορεί να περάσει στην τελική τα headers του...
Ο κώδικας που χρησιμοποιώ είναι αρκετά απλός χωρίς πολλά πολλά και τον έχω παρακάτω.
Πριν την εκτέλεσει του κώδικα έχω ήδη κάποια js για τον έλεγχο της εγκυρότητας του email και ην ύπαρξη του name.

Δεν μπορώ να καταλάβω, πράγματι δεν μπορώ, πώς από τον παρακάτω κώδικα μπορεί να περάσει κάποιος τα δικά του header στην mail για να στέλνει τα spam mail του...

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


   if&#40;isset&#40;$_POST&#91;'name'&#93;&#41;&#41; $name=$_POST&#91;'name'&#93;;
   if&#40;isset&#40;$_POST&#91;'email'&#93;&#41;&#41; $email=$_POST&#91;'email'&#93;;
   if&#40;isset&#40;$_POST&#91;'sxolia'&#93;&#41;&#41; $sxolia=$_POST&#91;'sxolia'&#93;;

   $to = "mail@mail.com";
   $subject = "Φόρμα Επικοινωνίας";
   $message = "<table>
                       <tr><td>Από τον &#58;</td><td>$name</td></tr>
                       <tr><td>E-mail&#58;</td><td>$email</td></tr>
                       <tr><td>Παρατηρήσεις &#58;</td><td>$sxolia</td></tr>
                       </table>";
			  
   $headers = "From&#58; $name <$email>\r\n" .
       'X-Mailer&#58; PHP/' . phpversion&#40;&#41; . "\r\n" .
       "MIME-Version&#58; 1.0\r\n" .
       "Content-Type&#58; text/html; charset=iso-8859-7\r\n" .
       "Content-Transfer-Encoding&#58; 8bit\r\n\r\n";

   $res = mail&#40;$to, $subject, $message, $headers&#41;;
Μήπως δεν πρέπει να επιτρέπω στη γραμμή

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

$headers = "From&#58; $name <$email>\r\n" .
να περνιούνται οι μεταβλητές $email και $name...
μου φαίνεται ότι αυτό εκμεταλεύεται και γίνεται ότι γίνεται...
και το λέω αυτό γιατί όπως ξαναείπα όταν μου έρχεται η φόρμα βλέπω
στο "Από τον" να ακολουθείται από το όνομα και από πληροφορίες headers
δηλ σαν
Από τον: pin
Content-Type: text/plain; charset=\"us-ascii\"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Hello
bcc: χχχ@χχχ.net κτλ κτλ κτλ
Email: xxx@xxx.com
Παρατηρήσεις: bla bla bla
κάποια ιδέα?
Ευχαριστώ!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

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

mail() και spam

Δημοσίευση από iffor » 21 Νοέμ 2005 14:41

Διαβάστε και αυτό ώστε να μην πάθετε φίλοι μου ότι έπαθα και εγω! :wink:
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

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

mail() και spam

Δημοσίευση από Rapid-eraser » 21 Νοέμ 2005 14:46

ola eivai 8ema data filtering ...
Pote dev bazeis se eva script sou input pou dev exeis elenksei kai 8eoreis pavta ta inputs piges epikivdives.
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

Απάντηση

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

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

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