簡體   English   中英

保護IP檢查php

[英]Securing IP check php

我有

$result = mysqli_query($mysqli,"SELECT * FROM ".MYSQLBTCTABLE." WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "' AND date = '".date("Y-m-d")."' AND time = '".date("D")."'") or die(mysqli_error());

如何保護$_SERVER['REMOTE_ADDR']以便它不僅檢查用戶ip / proxy而且還檢查socks ip,這樣他們就不會通過更改IP來濫用我的代碼?

我也找到了這段代碼:

                function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

它會工作,如果我把WHERE ip = '".($ip)."'

在常見情況下你不能這樣做

  • 您無法確定用戶是否正在使用代理:它可以是匿名代理
  • 您無法確定他是否使用計算機設備
  • 你無法確定他是否是人類:可能是通過cURL或類似的東西請求

這就是互聯網的現實。 您不能依賴來自客戶端的任何信息。 如果您懷疑用戶更改了他的IP地址 - 那么隱藏身份驗證背后的關鍵部分。 因此,您將能夠通過Web應用程序中的登錄識別用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM