Szunaj85
23.01.2011, 11:53:10
Witam posiadam prosty skrypt z funkcją mail() w kodzie. Skrypt będzie wolnym plikiem, nie połączonym z żadnym formularzem czy poprzez link, input, itp.
Skrypt będzie wykonywał się okresowo/auomatycznie uruchamiany przez CRON-a, a w pewnych przypadkach wysyłał wiadomość na mail.
Czy taki skrypt będzie narażony na boty spamujące, a jeśli tak to jak się przed tym zabezpieczyć?
ciekawskiii
23.01.2011, 11:58:10
Jak to sobie wyobrazasz skoro nie bedzie formularza? To chyba oczywiste ze boty nic nie zrobia
CuteOne
23.01.2011, 14:14:53
najprościej:
if($_GET['haslo'] != 'haselko') die('');
do crona dodajesz parametr haslo=haselko
kalmaceta
23.01.2011, 15:04:24
jeszcze prościej umieszczasz plik ze skryptem poza webroot
CuteOne
23.01.2011, 15:54:48
nie bardzo ;] cron jednak musi mieć do niego dostęp
kalmaceta
23.01.2011, 16:13:53
a co ma cron do katalogu www
thomson89
23.01.2011, 16:32:42
Umieszczasz plik poza public_html i będzie działać - cron ma tam dostęp.
Ewentualnie możesz zrobić zabezpieczenie, porównując odpowiednie dane ze zmiennej $_SERVER - inne są, gdy przez crona wywołujesz a inne gdy jaki bot wywoła plik.
Szunaj85
24.01.2011, 16:32:28
Cytat
umieszczasz plik ze skryptem poza webroot
A moglibyście mi bardziej przybliżyć czym dokładnie jest ten webroot oraz public_html?
I kiedy plik znajduje się w obszarze webroot, a kiedy poza obszarem webroot.
Cytat
Ewentualnie możesz zrobić zabezpieczenie, porównując odpowiednie dane ze zmiennej $_SERVER
Jakiś przykład.
kalmaceta
25.01.2011, 00:12:09
a jaki jest główny katalog w którym trzymasz strone/serwis ? Właśnie to jest webroot. Umieść skrypt php o jeden wyżej (a dla ścisłości w katalogu domowym, bo czasem z tymi poziomami to różnie;))- nie będzie dostępny dla serwera www a cron i tak bedzie miec dostep.
webrootto to np. /home/userjakis/public_html, /home/userjakis/domains/jakasdomena/public_html i tak dalej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.