У меня такая большая проблема, и я думал об этом в течение 2 дней. Я написал небольшой урок о том, как отлавливать незарегистрированных (гостевых) пользователей, которые могут попробовать SQL-инъекцию через URL-адрес, и после двух экспериментов их IP-адрес блокируется в моей БД (поэтому в массиве я храню некоторые признаки),
$blockSigns = array ("'", "/", "\", ":", "//", "and so on");
но:
- IP не является хорошим решением (PHP не может видеть IP-адреса локальной сети, если сервер находится под прокси-сервером), и даже я не могу его заблокировать. Не могу заблокировать 192.168.1.10 :)
- Мне не нужен WAN IP, потому что я не могу заблокировать сайт для компании из-за одного n00b.
- PHP не может поймать Mac-адрес (mac не включен в заголовок)
- Я также хочу заблокировать пользователей, которые являются гостями, поэтому я не знаю их имен пользователей, почты или чего-то еще.
if (isset($_SESSION["пользователь"])) { $user = $_SESSION["пользователь"]; } еще { $user = "неизвестно"; }
Я читал, что у perl есть некий API, называемый NET::MAC,
Решил найти мак адрес пользователя через perl и интегрировать его в PHP. Является ли это возможным? если есть то как? Не могу понять. если не:
как я могу решить эту проблему? как я могу идентифицировать пользователя, если он/она не зарегистрирован? есть ли шанс? поделитесь опытом, если у вас уже была такая проблема. заранее спасибо...