网站挂百度推广,九州建网站,注册网站服务器,做静态网站接单1. 检查IP是否在黑名单中#xff0c;如果是则终止访问。 2. 检查手机号是否在黑名单中#xff0c;如果是则终止访问。 3. 对于同一个IP#xff0c;限制访问次数#xff0c;如果超过限制则终止访问。 4. 对于同一个手机号#xff0c;限制访问次数#xff0c;如果超过限制则…1. 检查IP是否在黑名单中如果是则终止访问。 2. 检查手机号是否在黑名单中如果是则终止访问。 3. 对于同一个IP限制访问次数如果超过限制则终止访问。 4. 对于同一个手机号限制访问次数如果超过限制则终止访问。 5. 检查IP是否为海外IP如果是则终止访问。 6. 如果通过所有限制条件调用send函数发送短信。
apis.map.qq.com 腾讯地图官网
腾讯位置服务 - 立足生态连接未来
?php
session_start();// 黑名单IP列表
$blacklistIP [127.0.0.1];// 黑名单手机号列表
$blacklistTel [18888888888];// IP访问限制次数
$limitIP 10;// 手机号访问限制次数
$limitTel 10;// 检查IP是否在黑名单中
$ip getip();
if (in_array($ip, $blacklistIP)) {die(非法访问);
}// 检查手机号是否在黑名单中
$tel $_GET[tel];
if (in_array($tel, $blacklistTel)) {die(非法访问);
}// 检查IP访问次数
if (isset($_SESSION[ipNum]) $_SESSION[ipNum] $limitIP - 1) {die(访问太频繁);
}// 检查手机号访问次数
if (isset($_SESSION[telNum]) $_SESSION[telNum] $limitTel - 1) {die(访问太频繁);
}// 检查海外IP
if (!iszgip($ip)) {die(访问太频繁!!);
}// 发送短信
send();function send()
{if (isset($_SESSION[ipNum])) {$_SESSION[ipNum];} else {$_SESSION[ipNum] 1;}if (isset($_SESSION[telNum])) {$_SESSION[telNum];} else {$_SESSION[telNum] 1;}echo 发送成功;
}function getip()
{static $ip ;if (isset($_SERVER[REMOTE_ADDR])) {$ip $_SERVER[REMOTE_ADDR];}if (isset($_SERVER[HTTP_CDN_SRC_IP])) {$ip $_SERVER[HTTP_CDN_SRC_IP];} elseif (isset($_SERVER[HTTP_CLIENT_IP])) {$ip $_SERVER[HTTP_CLIENT_IP];} elseif (isset($_SERVER[HTTP_X_FORWARDED_FOR]) preg_match_all(#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s, $_SERVER[HTTP_X_FORWARDED_FOR], $matches)) {foreach ($matches[0] as $xip) {if (!preg_match(#^(10|172\.16|192\.168)\.#, $xip)) {$ip $xip;break;}}}if (preg_match(/^([0-9]{1,3}\.){3}[0-9]{1,3}$/, $ip)) {return $ip;} else {return 127.0.0.1;}
}function iszgip($ip)
{$key PHYBZ-UOXWV-LUIPZ-DSADSA-SDSDD-ADSADA;$url https://apis.map.qq.com/ws/location/v1/ip?ip . $ip . key . $key;$res file_get_contents($url);if ($res) {$data json_decode($res, true);if (isset($data[result][ad_info][nation]) $data[result][ad_info][nation] ! 中国) {return false;}}return true;
}
?
这段代码实现了一些简单的访问限制可以提供一定程度的防护。以下是该代码的优点和缺点
优点 1. 黑名单功能可以将指定的IP地址或手机号添加到黑名单从而禁止其访问。 2. 访问次数限制对于同一个IP地址或手机号可以限制其访问次数避免频繁访问或滥用。 3. 检查海外IP通过调用腾讯地图API可以判断访问者的IP是否属于中国境内从而禁止海外IP的访问。
缺点 1. 黑名单功能仅针对预先设置的IP地址和手机号无法应对新出现的恶意IP或手机号。 2. 访问次数限制使用了基于Session的计数器这意味着计数器是与用户的Session绑定的。如果用户清除了Session或使用多个不同的会话该限制将无效。 3. 检查海外IP功能依赖于腾讯地图API的可用性和准确性。如果API出现问题或返回的地理位置信息不准确可能会导致错误的判断结果。
请注意这段代码仅提供了一种简单的防护措施无法完全保护应用程序免受所有攻击。在实际应用中建议结合其他安全措施如使用防火墙、Web应用程序防护(WAF)等来增强安全性。此外及时更新代码和及时监测安全事件也是保护应用程序安全的重要措施。