Kod zabezpieczający przed spamowaniem

Mam taki kłopot…

nie znam się za dobrze na PHP, więc mam maly problem.

Uczę się dopiero programować w PHP tworząc od razu stronkę, gdyż trochę mi się śpieszy i… stworzyłem formularz mailowy… i wszystko jest już ok, lecz chciałbym dodać zabezpieczenie przed spamowanie. W tym celu należałoby dodać jakiś kod zabezpieczeniowy, który generowałby się z rysunków i trzeba by go było poprawnie przepisać do pola obok (INPUT), by dopiero wiadomość mogła zostać wysłana.

Trochę niezbyt jasno, ale myślę, że wiadomo o co chodzi.

Zna ktoś jakieś takie skrypty? Umiałbym ktoś coś takiego samemu stworzyć?

Proszę o pomoc !

Poczytaj na php.net albo poszukaj w google o GD. W połączeniu z rand(); zrobisz token.

Dodatkowo można zabezpieczyć sesjami. Sam skrypt przetwarzania wiadomości lepiej umieścić w osobnym pliku poza plikiem z formularzem i zakończyć go

session_start(); 

$_session[zapisano] = 1; 

header("Location: index.php");

W pliku z formularzem również zamieszczasz session_start(); i warunek, że jeżeli $_session[‘zapisano’]; ma wartość 1, to przycisk wysyłania formularza jest blokowany.

Ok, to inaczej… śpieszę się na tyle, że nie mam czasu samemu pisania wszystkiego od nowa, podstaw. Sesje rozumiem i poradziłbym sobie być może, jednak w internecie jest już wiele gotowych rozwiązań, inni użytkownicy też mają swoje własne skrypty, więc pisanie wszystkiego od początku jest trochę zbędne. Prościej po prostu skorzystać z jakiegoś już gotowego darmowego skryptu. Ma ktoś coś takiego? Wie gdzie znaleźć?

http://www.google.pl/search?hl=pl&q=token+gd&btnG=Szukaj+w+Google&lr=

a jak nie to

http://www.hotscripts.pl

dlaczego plik przetwarzania wiadomości utworzyć w osobnym pliku?

Jak zrobisz w tym samym pliku przy użyciu sesji to zabezpieczenie będzie sprawne w połowie: przycisk będzie nieaktywny, ale refresh strony będzie nadal skutkował ponownym wysłaniem formularza. Jeśli będzie w osobnym nic się nie stanie, bo zostanie przeładowany tylko formularz, bez przetworzenia i co za tym idzie: nie zostaniesz zalany pocztą.

W dodatku zależałoby mi na tym, by kod zabezpieczający (TOKEN) był sprawdzamy automatycznie po wpisaniu zawartości obrazka (przy opuszczaniu pola, onBlur). W takim przypadku należałoby zapewne skorzystać z AJAX’a… wiedziałby jak takie cos stworzyć?

Asynchronicznie niczego jeszcze nie ładowałem, ale powinno być rozwiązanie w Javie. Ale tu są moje ograniczenia.

Miłej pracy.

kamil_b17 to raczej nie jest zbyt dobry pomysł, AJAX - asynchroniczny JavaScript i XML, JS o ile rozumiem wyłączenie w przeglądarce JS powoduje również nie działalność AJAX’a a co za tym idzie daje bardzo łatwą metodę obejścia Twojego zabezpieczenia (chyba, że dezaktywacja JS nie powoduje dezaktywacji AJAXa nigdy nie sprawdzałem)

Hmm… rzeczywiście, chyba masz rację Airborn. To nie byłoby zbyt dobre zabezpiecznie, zwłaszcza przed różnego rodzaju bootami, które z pewnością nie korzystają z JS. Muszę jakoś inaczej to rozkiminić, choć nie powiem… kilka takich zabezpieczeń w AJAX’ie już widziałem (;

Dobrym pomysłem byłoby umieszczenie w formularzu pola hidden i przy przetwarzaniu, jeśli się okażę, że pole zostało uzupełnione, proces zostaje wstrzymany.

ale wtedy pozostaje jeszcze napisanie samego skryptu zabezpieczającego opartego na AJAX’ie. ja niestety nie znam się… znaczy się nie umiem połączyć php z js, choć z osobna znam oba języki. jak dla mnie to narazie bajka, poza moimi możliwościami.