相关疑难解决方法(0)

在PHP中检索用户正确IP地址的最准确方法是什么?

我知道有许多$ _SERVER变量头可用于IP地址检索.我想知道如何使用所述变量最准确地检索用户的真实IP地址(很清楚没有方法是完美的)?

我花了一些时间试图找到一个深入的解决方案,并根据许多来源提出了以下代码.我很乐意,如果有人可以请求在答案中挖洞,或者对某些事情做些准确的解释.

编辑包括来自@Alix的优化

 /**
  * Retrieves the best guess of the client's actual IP address.
  * Takes into account numerous HTTP proxy headers due to variations
  * in how different ISPs handle IP addresses in headers between hops.
  */
 public function get_ip_address() {
  // Check for shared internet/ISP IP
  if (!empty($_SERVER['HTTP_CLIENT_IP']) && $this->validate_ip($_SERVER['HTTP_CLIENT_IP']))
   return $_SERVER['HTTP_CLIENT_IP'];

  // Check for IPs passing through proxies
  if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
   // Check if multiple IP addresses exist in var
    $iplist = explode(',', …
Run Code Online (Sandbox Code Playgroud)

php ip-address

280
推荐指数
4
解决办法
8万
查看次数

如何伪造$ _SERVER ['REMOTE_ADDR']变量?

伪造或劫持$_SERVER['REMOTE_ADDR']变量内容是否可能?

我想伪造一个请求:

$_SERVER['REMOTE_ADDR']='127.0.0.1';
Run Code Online (Sandbox Code Playgroud)

我怎么能用PHP做到这一点?CURL能以某种方式做到这一点吗?

php security

66
推荐指数
5
解决办法
7万
查看次数

php检测文档索引是否为localhost

我想知道如何检测用户是否在本地主机上.

我之所以这样做,是因为我可以在现场服务器上自动运行生产代码,但在我的机器上运行未压缩的代码,而无需一直更改链接.

我知道我可以在JS中这样做... if(document.URL.indexOf("localhost:8888")<= 0){

但是我需要在Php中为我的WordPress安装做这件事.我在这里遇到了类似的问题 - 如何检测用户是否在PHP的localhost上?

所以我尝试了这个(下面),但它无法加载任何东西

<?php if(IPAddress::In(array("127.0.0.1","::1"))) { ?>
        <script src="<?php bloginfo('template_url'); ?>/js/scripts.js"></script>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

我也在这里尝试了建议的解决方案,但是再一次,对我不起作用如何检测用户是否在PHP中的localhost?

如果这些细节有帮助,我在Mac上使用MAMP,安装WordPress.

php wordpress if-statement ip-address

3
推荐指数
1
解决办法
3197
查看次数

标签 统计

php ×3

ip-address ×2

if-statement ×1

security ×1

wordpress ×1