Heim  >  Artikel  >  Backend-Entwicklung  >  So deaktivieren Sie die Aktualisierung der PHP-Seite

So deaktivieren Sie die Aktualisierung der PHP-Seite

coldplay.xixi
coldplay.xixiOriginal
2020-10-05 13:07:402665Durchsuche

So deaktivieren Sie die Aktualisierung der PHP-Seite: Beenden Sie zuerst die Proxy-IP, legen Sie dann den Zeitraum und die Anzahl der Aktualisierungen fest, um schnelle Aktualisierungen zu verhindern, und springen Sie schließlich zur Serveradresse des Angreifers .

So deaktivieren Sie die Aktualisierung der PHP-Seite

So deaktivieren Sie die Aktualisierung einer PHP-Seite:

Methode 1:

Ein kleines Stück Code, um die Seitenaktualisierung zu verhindern. Es ist möglicherweise nicht von großem Nutzen, es ist nur eine Referenzidee .

Prinzip:

Bestimmen Sie, ob eine Sitzung vorhanden ist, wenn auf die Seite zugegriffen wird. Wenn nicht, erstellen Sie direkt eine Sitzung und stellen Sie sie auf die aktuelle Uhrzeit ein.

Wenn eine Sitzung vorhanden ist, ermitteln Sie die Uhrzeit Differenz zwischen der Zeit in der Sitzung und der aktuellen Zeit. Wenn das Intervall kleiner als die angegebene Zeit ist, wie in diesem Beispiel 5 Minuten, wird die Programmausführung unterbrochen und eine Fehlermeldung angezeigt in der Sitzung größer als die aktuelle Zeit ist, wird die Zeit in der Sitzung aktualisiert und die Seite wird normal ausgeführt.

Der Code lautet wie folgt:

session_start();   //启动session
$timeOutLimit = "300";  //设置时间间断五分钟
if (isset($_SESSION["timeout"])) {  //判断是否有session
    if (time() - $_SESSION["timeout"] < $timeOutLimit) {   
    //如果有session 且session时间间隔小于5分钟 直接die()退出并输出提示信息。
       die("请不要多次刷新当前页面");
    } else {    //如果没有超时,将session时间重置为当前时间。
       $_SESSION["timeout"] = time();
    }
} else {
    $_SESSION["timeout"] = time(); 
    //如果没有timeout的session,则创建session为当前时间,便于下次访问页面时判断
}
//其它页面代码.....

Methode 2:

//代理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;
}

Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Spalte
php-Schulung

!

Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie die Aktualisierung der PHP-Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn