Для определения ip-адреса из tor-сетки можно послать запрос для A-записи, вида
На PHP эта проверка может быть следующей:
<reversed ip>.<port>.<addr>.ip-port.exitlist.torproject.orgГде:
- reversed ip - целевой ip в DNS PTR виде (перевернутый)
- port - порт, на который стучится запрос от целевого адреса
- addr - ip-адрес, на который стучится целевой адрес
50.234.1.30.80.80.10.200.30.ip-port.exitlist.torproject.orgВ итоге, если конечный запрос долбится с tor сетки через целевой ip на определенный порт на определенный адрес, то в указанном запросе нам вернется 127.0.0.2. В противном случае вернется nxdomain.
На PHP эта проверка может быть следующей:
// Целевой ip
$ip = implode('.', array_reverse(explode('.', $_SERVER['REMOTE_ADDR'])));
// Порт
$port = 80;
// Адрес:)
$addr = '0.0.0.0';
$ipInfo = dns_get_record("$ip.$port.$addr.ip-port.exitlist.torproject.org");
if (count($ipInfo)) {
$ip = current($ipInfo);
if (isset($ip['ip']) && $ip['ip'] == '127.0.0.2') {
// Да, это tor
}
}
Комментариев нет:
Отправить комментарий