我有一个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是数组,字符串在.中
有人有建议吗?
发布于 2013-05-16 03:20:53
最好在数据库中搜索$_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();
}
https://stackoverflow.com/questions/16578398
复制相似问题