我正在尝试阻止基于网站的代理。这些通常采用以下格式:http: //3.hidemyass.com/ip-8/encoded/Oi8vZ29kbGV5ZGVzaWduLmNvLnVrL0xDcmVkaXJlY3QvZnVuY3Rpb25zL2Z1bmN0aW9
我阻止这些的理论是获取地址栏的 URL 并检查它实际上是直接访问我的网站,而不是通过网站代理访问。
但是,当我尝试访问我的网站并尝试捕获用户的 url 时,它仍然报告它的我的网站 url.. 不是这个基于网络的代理之一。
我尝试了以下检测方法:
$url= $_SERVER['HTTP_HOST']; //get the url
$url = $_SERVER["SERVER_NAME"];
关于如何解决这个问题的任何想法?
更新好的,我已经重写了其中的一部分,但是它似乎总是返回错误... $url 被正确传递,因为我可以在函数中回显它。但是它似乎不匹配并返回 false
<script>
var url = window.location.href;
<?php $url = "<script>document.write(url)</script>"; ?>
</script>
<?php
//
function checkURLIsSafe($url){
if(preg_match('/www/',$url)){
echo 'true';
} else {
echo 'false';
}
}
checkURLIsSafe($url);
?>