Formularz kontaktowy zabezpieczenia

Regulamin działu
Kolorowanie składni :
[php][/php], [sql][/sql], [html][/html], [css][/css], [js][/js], [python][/python], [perl][/perl], [ruby][/ruby], [xml][/xml], [xsl][/xsl]

Formularz kontaktowy zabezpieczenia

Postprzez policeman13 28 sie 2009, o 07:52

Witam! Nie martwcie się to nie jest post z pytaniem jak wysłać maila xD Mam gorsze zmartwienia... Mam gotowy formularz i wiem jak wysłać maila(xD) ale chciałbym sie zabezpieczyć przed hakerami. Miałem już sposobność zetknąć sie z tym problemem. Spam na moją pocztę nie był przyjemny(11 000 wiadomości na poczcie nigdy nie jest xD. Ale teraz nachodzi pytanie jak zabezpieczyć formularz przed wszelakimi atakami(nie tylko spamem), a w szczególności spamem!

Z uprzedzeniem dziękuję za odpowiedzi.

Prosiłbym o jakieś chociaż fragmenty kodu, które mogą pomóc zabezpieczyć formularz
Jestem kim jestem, i nic tego nie zmieni!

Avatar użytkownika
policeman13
 
Posty: 10
Dołączył(a): 7 sie 2009, o 05:07

Re: Formularz kontaktowy zabezpieczenia

Postprzez rtgn 28 sie 2009, o 09:32

Token, zabezpieczenie czasowe (chociaz to mozna ominac), wysylanie po uprzednim zalozeniu konta a na konto limit wysylan :> Pierwsze co mi przyszlo do glowy.
Trwa pościg za kasą, pozycją, dupami, gdzie ludzie rozmineli się z wartościami...

Avatar użytkownika
rtgn
Site Admin
 
Posty: 149
Dołączył(a): 23 lip 2009, o 10:12

Re: Formularz kontaktowy zabezpieczenia

Postprzez zbt 28 sie 2009, o 09:38

CAPTCHA, to to czego szukasz. Kiedyś komuś pokazywałem prosty sposób na token, wrzuć sobie tylko obok skryptu jakąś czcionkę pod nazwą f.ttf.

Równie dobrze możesz zastosować obecnie popularne równanie matematyczne, powiedzmy tak:
Kod: Zaznacz cały
  1. list($a, $m1, $b, $m2, $c) = ($t = array(mt_rand(5, 10), '*', mt_rand(1, 10), '+', mt_rand(1, 5)));
  2. # To wyswietlisz w formularzu
  3. $token = implode(' ', $t) . ' =';
  4.        
  5. $h = $a * $b + $c;
  6.  
  7. # Tworzysz jakis hash, aby moc go porownac z wynikiem podanym przez usera w formularzu:
  8. # if(sha1(str_repeat(implode('^', str_split(($h = $_POST['token']))), $h)) . md5($h) !== $_SESSION['token'])
  9. $_SESSION['token'] = sha1(str_repeat(implode('^', str_split($h)), $h)) . md5($h);


Pozdro
Tyle jesteś wart, ile od siebie możesz dać...

Avatar użytkownika
zbt
 
Posty: 55
Dołączył(a): 28 lip 2009, o 13:08
Lokalizacja: /etc/hosts

Re: Formularz kontaktowy zabezpieczenia

Postprzez policeman13 28 sie 2009, o 09:41

Dzięki za odpowiedzi. Captcha będzie dobra :)
Jestem kim jestem, i nic tego nie zmieni!

Avatar użytkownika
policeman13
 
Posty: 10
Dołączył(a): 7 sie 2009, o 05:07

Re: Formularz kontaktowy zabezpieczenia

Postprzez cOndemned 28 sie 2009, o 16:25

jak zabezpieczyć formularz przed wszelakimi atakami


ofc captcha tak jak pisał zbt, co do filtracji:

http://pl.php.net/manual/pl/function.strip-tags.php

w szczególnosci uwagę warto zwrócic na funkcje : addslashes, stripslashes, htmlspecialchars, strip_tags, htmlentities. Mozna tez posłuzyc sie wyrazeniami regularnymi (funkcje preg_replace, etc), lub tez pojsc na łatwizne :

http://pl.php.net/manual/pl/book.filter.php

cOndemned
 


Powrót do PHP

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 0 gości

cron