PDA

Arată versiune īntreagă : Blocarea utilizator dupa IP



clement108
17.12.2007, 18:57
Am un formular de contact in php.
Cand cineva imi trimite email folosind acest formular am setat sa apara adresa de ip a celui care trimite mesajul.
Cum se poate bloca o adresa de ip a unui utilizator rau intentionat?

RedPoint
17.12.2007, 20:40
pentru un formular de contact nu ai cum sa-l blochezi, ce poti face este dca acesta are un IP static sal blochezi direct din server.
...si chiar si atunci daca foloseste un site proxi online (http://www.clickus.eu) poate sa acceseze site-ul si asa sa-ti trimita un mesaj prin formularul de contact.

Altfel arata acest lucru daca formularul este plasat intr-o rubrica aparata de un login, atunci acesta nu mai are sanse, poti bloca numele de utilizator sau ID-ul respectiv.

Mai exista o posibilitate dar nu chiar optimala:
- plaseaza in formular un captcha care sa salveze IP-ul pe durata de 24H, asa primesti doar un singur mesaj de la acest utilizator la 24H, dar daca iese din Internet si intra, poate primi un alt IP ...si asa incepe povestea din nou

Dar ce probleme ai cu utilizatorul respectiv, daca nu sunt prea curios :-)


Cu stima

clement108
17.12.2007, 23:30
Nu eu am probleme ci proprietarul site-ului.
E cineva care nu mai termina cu injuraturile si zilnic trimite email prin site-ul respectiv.
Se poate bloca un ip direct din formularul de contact. Am experimentat astazi si mi-a reusit.

$ip_name = gethostbyaddr ( $ip );

$continut = "Mesaj de la $numele ;e-mail: $email ; telefon: $telefon ; Mesaj: - $mesaj ; Browser: $browser ; Data si ora (+2): ".gmdate("d.m.Y - H:i:s",$timp)." ; Ip: $ip ; Host: $ip_name ";
# echo "<br><br>$continut";
if ($ip_name == 'cifrele de la ip') {
$pag = "mesaj3.php";
include ("$pag");
exit;
}
$pag = "mesaj2.php";

Problema e ca acel ip se schimba o data cu repornirea calculatorului cum ai spus tu. Si totusi putem lua ca exemplu forumul phpBB care are aceasta posibilitate de a restrictiona anumite adrese de ip.
Cred ca cea mai buna solutie este formularul care este plasat intr-o rubrica aparata de un login.
Proprietarul site-ului m-a intrebat daca nu este posibil ca persoana respectiva sa fie descoperita de pe ce calculator a accesat acest formular.
In formularul care il folosesc imi afiseaza adresa de ip si host.

Multumesc

RedPoint
18.12.2007, 10:08
...la phpBB, vBulletin sau alte scripte, blocarea se face dupa IP, dar IP-ul este in momentul respectiv legat de Username si se blocheaza User facand legatura intre IP-ul blocat si numele de Utilizator ;-)

Va trebui sa plasezi formularul sau intr-o rubrica cu login, este inadecvat pentru ceilalti vizitatori care doresc sa contacteze firma respectiva si intr-adevar are nevoie de informatii sau detalii.

Cu IP si Host poti sa-l gasesti pe respectivul, dar ai nevoie de un avocat care-i umbla capul. De obicei avocatii tineri sunt mai buni decat mosnegii, acestia se pricep la PC/Internet si sunt dornici de reusite pentru portofoliu ;-)
...ai nevoie de aprobarea judecatorului pentru ca Hostul sa-ti ofere datele clientului respectiv. Daca este un Host mic, ceva de cartier, poti merge la ei cu dovezi, avocatul de mana si incerci.
Acestia de obicei nu sunt cu toate reglementarile la zi si-i poti strange putin de ..., daca avocatul este destept, scoate el datele din acestia ca ulterior sa poti intenta un proces ;-)

Greu dar se merita.
Dupa ce ai castigat procesul se merita o campanie PR asa mai sperii si alte *ciori* care fac la fel pe alte site-uri. ...se pare ca unii utilizatori din Romania nu sunt inca asa de avansati mental pentru a renunta la injuraturi, calomnii si alte dobitocisme, sunt obijnuiti cu Messenger-ul si nu mai fac diferenta intre o companie/firma si Petre M care are un site cu manele.
Unii chiar nu sunt constienti ca-i poate costa mult, vor vinde casa parinteasca sa-ti plateasca tie avocatul si dezpagubiri si atunci striga'n gura mare ca-i *Tzeapa*.
...cunosc si eu din acestia *eroi virtuali*, cand stai cu avocatul in fata casei la ei fac in pantalonasi!
Multi se (mai) joaca inca cu focul - inconstienti!

Cu stima

f_huba
14.06.2008, 22:12
Cum se poate bloca o adresa de ip a unui utilizator rau intentionat?

eu folosesc cu success:


<?php
$ban_ip = ("xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy"); // se pune adresele, separate prin virgula si fara spatii
$visitor_ip = $_SERVER['REMOTE_ADDR'];
$ip_list = explode(",", $ban_ip);
foreach($ip_list as $ip)
{
if($visitor_ip == $ip)
{
die("<center><h2>Access interzis</h2></center>");
}
}

?>



1 - il scriu intr-un fisier separat si il apelez prin functia include()
sau
2 - direct in formular

p.s.
se poate dezvolta si pe combinatie cu mysql unde se stocheaza ip-urile si se citeste de acolo
totusi eu prefer prin .htaccess

Dennis
15.06.2008, 21:58
...multumim pentru ajutor f_huba

Cu stima