以下内容来源于PB交流QQ群。
第一:NGINX配置。
# 拦截常见敏感后台路径访问(例如 dede、admin、wp-login 等),防止暴力破解和探测扫描 location ~* ^/(ucenter|uc_server|center|club|bbs|uccenter|myadmin|adminsy|czzhaoxu|guanli|root|dede|admin|xbd|hdk|resetpw|indexback|admin_xianzhi|temp|preview|wp-login)\.php$ { return 403; } # 拦截 URL 参数中的恶意字符或函数调用,防止模板注入、函数执行等攻击 if ($query_string ~* "(\\x5c\x22|\x22|hex2bin|file_put_contents|create_function|pboot:if)") { return 403; } # 拦截 URI 中出现的目录穿越、函数调用、模板注入等行为 if ($request_uri ~* "(pboot:if|\.\./|file_put_cont\w+ntents|base6\w+4_decode|\x22)") { return 403; } # 拦截 Referer 中恶意来源(如黑链跳转等) if ($http_referer ~* "n666888\.com") { return 403; } # 特定的 URI 模式过滤,可拦截自动化扫描器或恶意请求特征 if ($request_uri ~ "%22,/%22logCommonInfo") { return 403; }
打开你网站的 Nginx 配置文件(如 /etc/nginx/sites-enabled/default
或宝塔中的网站配置)。
把上面这段代码粘贴进 server {}
代码块内。
保存并重启 Nginx:
第二:辰星傲月提供的首页文件修改。
<?php /** * @copyright (C)2016-2099 Hnaoyun Inc. * @author XingMeng * @email hnxsh@foxmail.com * @date 2016年11月5日 * 用户前端入口文件 */ // 定义为入口文件 if ($_SERVER['REQUEST_METHOD'] === 'GET') { $arr = $_GET; } if ($_SERVER['REQUEST_METHOD'] === 'POST'){ $arr = $_POST; } if(count($arr) > 0){ testArray($arr); } function testArray($array){ foreach ($array as $key => $value) { forbWord($key); forbWord($value); if (!is_string($key) || strlen($key) >= 12) { j404(); } // 检查值是否是字符串 if (!is_string($value)) { j404(); } } } //调到指定页面,以免网站打不开 function j404(){ header("HTTP/1.1 301 Moved Permanently"); header("Location: /404.html"); exit; } //拦截前端当前链接的字符 function forbWord($str){ $testwords = array('[',']','%27','%28','%29','*','%2A','\\x',';','%3B','%3C','%3E','(',')','<','>','%60','`','%22','"',"'",'select','insert','update','delete','where','drop','--','create','truncate','rename','execute','union',"\r","\n","\r\n"); foreach($testwords as $value){ if(stripos($str,$value) !== false){ j404(); } } } define('IS_INDEX', true); // 入口文件地址绑定 define('URL_BIND', 'home'); // PHP版本检测 if (version_compare(phpversion(),'7.0.0','<')) { header('Content-Type:text/html; charset=utf-8'); exit('您服务器PHP的版本太低,程序要求PHP版本不小于7.0'); } // 引用内核启动文件 require dirname(__FILE__) . '/core/start.php';
上一篇:关于PB会员中心自己无法修改密码,总是显示未输入当前密码。
下一篇:没有了!