결정된 PHP 세션이 설정된 경우에만 페이지를 캐시해야합니다.
내가 다음 코드를 사용하고, 그렇게하려면조건이 만족되면 캐시
session_start();
if(isset($_SESSION['bot'])){
$etagFile = md5_file(__FILE__);
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 31556926) . " GMT");
header("Etag: $etagFile");
header('Cache-Control: private');
die('You\'ve been banned.');
}
echo 'Some content';
문제는 세션이 만료 때 그가를 위해 "당신은 금지했습니다"볼 수 있지만, 사용자가 '일부 콘텐츠'를 볼 수 있다는 것입니다 년.
error_reporting(E_ALL);
아무 것도 반환하지 않습니다.
무엇이 문제 일 수 있습니까?
'$ _SESSION'을 사용하면 봇 (bot)이 매우 효율적으로 작동하지 않습니다 쿠키를 끄기 만하면 – sjagr
@ sjagr 네 말이 맞아, 생각하지 않았어. 메시지를 캐시하는 스크립트는 간단한 확인 방법을 사용하여 봇을 탐지하자마자 실행되지만 봇이 방문하려고하는 모든 페이지에 대한 경고를 캐싱 할 계획이었습니다. 다른 해결책을 찾아야 만하는 것처럼 보입니다. 그 점을 지적 해 주셔서 감사합니다 :) – Stubborn