PHP 페이지 새로 고침을 비활성화하는 방법

coldplay.xixi
풀어 주다: 2023-03-06 11:56:01
원래의
2584명이 탐색했습니다.

PHP 페이지 새로 고침을 비활성화하는 방법: 먼저 프록시 IP를 직접 종료한 다음 빠른 새로 고침을 방지하기 위해 기간과 새로 고침 횟수를 설정한 다음 모니터링 변수를 설정하고 마지막으로 공격자의 서버 주소로 이동합니다. .

PHP 페이지 새로 고침을 비활성화하는 방법

PHP 페이지 새로 고침을 비활성화하는 방법:

방법 1:

페이지 새로 고침을 방지하는 작은 코드 조각으로, 그다지 유용하지 않을 수 있으며 참고용 아이디어일 뿐입니다. .

원리:

페이지에 액세스할 때 세션이 있는지 확인합니다. 그렇지 않은 경우 세션을 직접 생성하여 현재 시간으로 설정하면 프로그램이 정상적으로 실행됩니다.

세션이 있으면 시간을 확인합니다. 세션 시간과 현재 시간의 차이입니다. 간격이 지정된 시간보다 작으면(예: 5분) 프로그램 실행이 중단되고 오류 메시지가 표시됩니다. 세션의 시간이 현재 시간보다 크면 세션의 시간이 새로 고쳐지고 페이지가 정상적으로 실행됩니다.

코드는 다음과 같습니다.

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为当前时间,便于下次访问页面时判断 } //其它页面代码.....
로그인 후 복사

방법 2:

//代理IP直接退出 empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); //防止快速刷新 session_start(); $seconds = '3'; //时间段[秒] $refresh = '5'; //刷新次数 //设置监控变量 $cur_time = time(); if(isset($_SESSION['last_time'])){ $_SESSION['refresh_times'] += 1; }else{ $_SESSION['refresh_times'] = 1; $_SESSION['last_time'] = $cur_time; } //处理监控结果 if($cur_time - $_SESSION['last_time'] < $seconds){ if($_SESSION['refresh_times'] >= $refresh){ //跳转至攻击者服务器地址 header(sprintf('Location:%s', 'http://127.0.0.1')); exit('Access Denied'); } }else{ $_SESSION['refresh_times'] = 0; $_SESSION['last_time'] = $cur_time; }
로그인 후 복사
프로그래밍에 대해 더 자세히 알고 싶다면
php training

칼럼을 주목해주세요!

위 내용은 PHP 페이지 새로 고침을 비활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!