首頁  >  文章  >  後端開發  >  php 如何禁止代理ip訪問

php 如何禁止代理ip訪問

藏色散人
藏色散人原創
2020-11-05 11:09:113004瀏覽

php禁止代理ip存取的實作方法:先透過「empty($_SERVER['HTTP_VIA']) or exit('Access Denied');」判斷代理IP;然後設定監控變數;接著處理監控結果;最後跳轉至攻擊者伺服器位址即可。

php 如何禁止代理ip訪問

推薦:《PHP影片教學

PHP防止網頁快速刷新代理ip訪問

前幾天網站收到了一些CC攻擊,比較鬱悶。 。 。這裡分享一下,防止網頁自動刷新的方法以及阻止代理IP訪問網站的方法,代碼是分開的,兩個功能,需要那個用那個,可以自訂時間間隔,這個代碼不止可以防CC攻擊,也可以防止各種東西只要加入header就可以統統使用了,灰常給力,廢話不多說了,直接上代碼:

<?php
/**
* @无作为
* www.wuzuowei.com
*/
//代理IP直接退出
empty($_SERVER[&#39;HTTP_VIA&#39;]) or exit(&#39;Access Denied&#39;);
//防止快速刷新
session_start();
$seconds = &#39;3&#39;; //时间段[秒]
$refresh = &#39;5&#39;; //刷新次数
//设置监控变量
$cur_time = time();
if(isset($_SESSION[&#39;last_time&#39;])){
$_SESSION[&#39;refresh_times&#39;] += 1;
}else{
$_SESSION[&#39;refresh_times&#39;] = 1;
$_SESSION[&#39;last_time&#39;] = $cur_time;
}
//处理监控结果
if($cur_time - $_SESSION[&#39;last_time&#39;] < $seconds){
if($_SESSION[&#39;refresh_times&#39;] >= $refresh){
//跳转至攻击者服务器地址
header(sprintf(&#39;Location:%s&#39;, &#39;http://127.0.0.1&#39;));
exit(&#39;Access Denied&#39;);
}
}else{
$_SESSION[&#39;refresh_times&#39;] = 0;
$_SESSION[&#39;last_time&#39;] = $cur_time;
}
?>

以上是php 如何禁止代理ip訪問的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn