作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:
当我的网站设置为"I'm under attack" mode时,一旦用户通过CloudFlare屏幕,他们将使用大型且较长的查询get参数重定向到我的网站:
?__cf_chl_jschl_tk__=63c51316f61a63e46f1639d6cf43f9d9b536adea-1587754610-0-AV-peahelegQeMeSrc_4ZJBUq47gdkX_QiS2eERoRTEODUjwbib2MM_73nQDAhukLbkspNpj01mv-Z-JteR4MpY4LUMm-yLJrPQKTX74DGYbZIs2utbp3_q4uozgzKpqcax10YESVKDhZgaWQYHGqBL9koIoasVOzKyvU7VQuKT1Nieo-i8DdXrV0IQf-nyI8KgWnxhYSVBOc-4WNrZzHQlEXFOpV45AGs10aMJyrs376HLRhNdV05MCj8oqMrexuQDtY7B3p7riHByYdB7GIgc
function checkAndRemoveCloudFlareParams() {
if (isset($_GET['__cf_chl_jschl_tk__']) && ! empty($_GET['__cf_chl_jschl_tk__'])
|| isset($_GET['__cf_chl_captcha_tk__']) && ! empty($_GET['__cf_chl_captcha_tk__'])) {
$new_uri = '?';
$uri = explode('?', $_SERVER['REQUEST_URI']);
$uri = $uri[0];
// Get any other params to put back on later
foreach ($_GET as $key => $var) {
if ($key !== '__cf_chl_jschl_tk__' && $key !== '__cf_chl_captcha_tk__') {
$new_uri .= $key . '=' . $var . '&';
}
}
if ($new_uri !== '?') {
$new_uri = rtrim($new_uri, '&');
$uri .= $new_uri;
}
header('Location: ' . $uri);
die;
}
}
最佳答案
JS解决方案:
history.replaceState && history.replaceState(
null, '', location.pathname + location.search.replace(/[\?&](__cf_chl_jschl_tk__|__cf_chl_captcha_tk__)=[^&]+/, '').replace(/^&/, '?')
);
关于php - 处理CloudFlare的: cf_chl_jschl_tk & cf_chl_captcha_tk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61415857/
问题: 当我的网站设置为"I'm under attack" mode时,一旦用户通过CloudFlare屏幕,他们将使用大型且较长的查询get参数重定向到我的网站: ?__cf_chl_jschl_
我是一名优秀的程序员,十分优秀!