如何使用 php 从外部网页检索 ip 列表?
How to retrieve ip list from external webpage with php?
我需要将所有 TOR 用户发送到自定义验证码。
如何使用 php:
检索此 ip 列表
这是我的 php 代码:
// Retrieve ip list
$deny_ips = file('https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=8.8.8.8');
// Read user ip address
$ip = isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';
// Search current IP in $deny_ips array and present Captcha
if ( (array_search($ip, $deny_ips))!== FALSE ) {
echo 'Captcha goes here!';
exit;
}
第一步"Retrieve ip list"不正确,我不知道如何用php找回它。
谢谢!
我有一个想法。
$tor = file_get_contents('https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=8.8.8.8');
$array = explode('#', $tor);
$ips = end($array);
$ips_array = explode(PHP_EOL, $ips);
If( in_array($ip, $ip_array) ){
echo 'ip found <br>';
}else{
echo 'ip not found <br>';
}
也许可以。
我在这里找到了另一种检查方法:Check if user uses TOR
所以代码是这样的:
/**
* detect if current user is using tor network
* @return bool
*/
function IsTorExitPoint(){
if (gethostbyname(ReverseIPOctets($_SERVER['REMOTE_ADDR']).".".$_SERVER['SERVER_PORT'].".".ReverseIPOctets($_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org")=="127.0.0.2") {
return true;
}
else {
return false;
}
}
/**
* reverse the ip
* @param string $input
* @return string
*/
function ReverseIPOctets($inputip){
$ipoc = explode(".",$inputip);
return $ipoc[3].".".$ipoc[2].".".$ipoc[1].".".$ipoc[0];
}
/**
* present custom captcha to user using tor network
*/
if (IsTorExitPoint()) {
echo 'Captcha goes here!';
exit;
}
不确定根据性能问题执行此操作的最佳方法是什么。有什么方法可以用php检查吗?
我会在尝试所有可能的解决方案后报告更多信息。
谢谢。
我需要将所有 TOR 用户发送到自定义验证码。
如何使用 php:
检索此 ip 列表这是我的 php 代码:
// Retrieve ip list
$deny_ips = file('https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=8.8.8.8');
// Read user ip address
$ip = isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';
// Search current IP in $deny_ips array and present Captcha
if ( (array_search($ip, $deny_ips))!== FALSE ) {
echo 'Captcha goes here!';
exit;
}
第一步"Retrieve ip list"不正确,我不知道如何用php找回它。
谢谢!
我有一个想法。
$tor = file_get_contents('https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=8.8.8.8');
$array = explode('#', $tor);
$ips = end($array);
$ips_array = explode(PHP_EOL, $ips);
If( in_array($ip, $ip_array) ){
echo 'ip found <br>';
}else{
echo 'ip not found <br>';
}
也许可以。
我在这里找到了另一种检查方法:Check if user uses TOR
所以代码是这样的:
/**
* detect if current user is using tor network
* @return bool
*/
function IsTorExitPoint(){
if (gethostbyname(ReverseIPOctets($_SERVER['REMOTE_ADDR']).".".$_SERVER['SERVER_PORT'].".".ReverseIPOctets($_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org")=="127.0.0.2") {
return true;
}
else {
return false;
}
}
/**
* reverse the ip
* @param string $input
* @return string
*/
function ReverseIPOctets($inputip){
$ipoc = explode(".",$inputip);
return $ipoc[3].".".$ipoc[2].".".$ipoc[1].".".$ipoc[0];
}
/**
* present custom captcha to user using tor network
*/
if (IsTorExitPoint()) {
echo 'Captcha goes here!';
exit;
}
不确定根据性能问题执行此操作的最佳方法是什么。有什么方法可以用php检查吗?
我会在尝试所有可能的解决方案后报告更多信息。
谢谢。