 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
johnny
Data înscrierii: 31/Iul/2004
Mesaje: 904
Locație: Bucuresti
|
| Trimis: Vin Iul 15, 2005 2:39 pm Titlul subiectului: Protectie importiva spam (posting spam) [howto] |
|
|
Am intrat de curand pe un blog de la
http://www.reediejournals.com/cgi-bin/mt/mt-comments.cgi,
am vrut sa postez un comentariu si mi-a aparut, un prompt 401 pentru autentificare. Scopul era prevenirea spamului prin posturi...
Se pot crea scripturi care folosec o sesiune cURL, sau lucreaza direct cu requesturi http pentru a face spam cu poturi pe bloguri, site-uri cu articole s.a.m.d in scopul de a posta reclama, injurii, s.a... Aceasta metoda poate preveni acest tip de atacuri. (site-ul ziarului Gandul are probleme similare, dar reclamele cred ca sunt postate manual...)
Howto:
se creaza un fisier .htaccess in folderul in care se afla scriptul de procesare a formului:
.htaccess
Cod:
<FilesMatch procesare_form.php>
AuthName 'Folositi username: user. Parola: parola.'
AuthType Basic
AuthUserFile /path/to/.htpasswd
Require valid-user
</FilesMatch>
si acum trebuie sa generam fisierul de parola:
.htpasswd
Cod:
htpasswd -c /path/to/.htpasswd user
iar la promptul de parola: tastati parola, si la confirmare la fel.. (de asemenea puteti sa nu puneti parola...)
si asta ar trebui sa fie tot...
Nota:
1.
AuthUserFile /path/to/.htpasswd
/path/to/ - trebuie sa fie calea completa catre .htpasswd
2. daca procesarea fomului este realizata tot de pagina care il afiseaza, va cere autentificare la afisarea paginii...
Invit si alti utilizatori sa posteze si alte metode, poate postam si pe blog un articol...
PS: verificarea pe baza de referer nu este eficienta deoarece, poate fi pacaliata. Exemplu folosind snoopy:
<?
require_once 'Snoopy.class.php';
$snoopy = new Snoopy;
$snoopy->referer = 'http://localhost/ref.php';
$filename="http://localhost/test_ref.php";
if($snoopy->fetch("$filename")) {
$pageContents = $snoopy->results;
echo $pageContents;
}
?>
#iar test_ref.php
<?php
print_r($_SERVER);
?>
si o sa apara [HTTP_REFERER] => http://localhost/ref.php |
|
| Sus |
|
stealth
Data înscrierii: 21/Iun/2004
Mesaje: 304
Locație: Timisoara
|
| Trimis: Mie Iul 20, 2005 12:39 am Titlul subiectului: |
|
|
dar se poate trece de autentificarea asta cu cURL.
Cea mai buna alternativa este sa generezi imagini dinalea (nu mai stiu cum le zice) de control.
Daca sunt prea enervante, macar sa se impuna o limita de posturi pe zi dupa care se trece la imagini de validare. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|