簡體   English   中英

阻止IP地址,從數據庫查詢IP

[英]Block IP Address, Query IP from database

我有一個PHP代碼,該功能是阻止IP地址。

include ("includes/_db_.php");
$query_ip = mysql_query("SELECT * FROM t_ip_address");
while ($data_ip = mysql_fetch_array($query_ip))
{

$valid_ips = $data_ip['ip_address'];

if (!in_array($_SERVER['REMOTE_ADDR'],$valid_ips))
{
    echo '<div class="denied"><img src="images/stop.png"/><span class="titles">Access Denied</span><br><span class="content">Sorry you do not have authorized to access this page.</span></div>
        <div class="footer"><a href="../">Back to previous page</a></div>
        ';
        exit();
    }
    }

但是現在面臨問題,錯誤是: 警告:in_array()期望參數2為數組,字符串在...中給出。

有人有建議嗎?

最好在數據庫中搜索$_SERVER["REMOTE_ADDR"]並檢查其是否返回任何內容。

$query_ip = mysql_query("SELECT * FROM t_ip_address where ip_address = '".mysql_real_escape_string($_SERVER["REMOTE_ADDR"])."'";
if (!mysql_fetch_array($query_ip)){
    echo '<div class="denied"><img src="images/stop.png"/><span class="titles">Access Denied</span><br><span class="content">Sorry you do not have authorized to access this page.          </span></div>
    <div class="footer"><a href="../">Back to previous page</a></div>
    ';
    exit();         
}  

暫無
暫無

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

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