多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
> 永远不要相信用户提交的数据! ## 安全开发指导 1. 参考ThinkPHP官方[安全指导](https://www.kancloud.cn/manual/thinkphp5/268461) 2. 过滤用户输入的内容,Tkview提供了html安全过滤方法`htmlpurifier()` 比如:`$html = htmlpurifier(request()->post('content'))` 或者:`$html = request()->post('content', '', 'htmlpurifier')` 也可以加在TP的默认过滤规则,如何设置默认过滤规则请参考ThinkPHP官方文档 3. 前端过滤可以使用`filterXSS()` ``` <script> // apply function filterXSS in the same way var html = filterXSS('<script>alert("xss");</scr' + 'ipt>'); alert(html); </script> ``` 更多用法,请参考:<https://github.com/leizongmin/js-xss/blob/master/README.zh.md> > 以上方法仅作为安全辅助,没有一劳永逸的方法可以防止所有攻击。要做好数据检查,选用合适的过滤方法。 ### 禁止访问敏感目录 为了安全考虑,可以将一些敏感目录设置为禁止访问。 【Nginx】 在Nginx配置文件中,加入以下规则 ``` location ^~ /data { deny all; } location ^~ /runtime { deny all; } location ^~ /export { deny all; } location ^~ /application { deny all; } location ^~ /plugins { deny all; } location ^~ /thinkphp { deny all; } location ^~ /vendor { deny all; } ``` 【Apache】 在框架根目录的.htaccess文件加入以下规则 ``` RewriteRule ^data - [F,L] RewriteRule ^runtime - [F,L] RewriteRule ^export - [F,L] RewriteRule ^application - [F,L] RewriteRule ^plugins - [F,L] RewriteRule ^thinkphp - [F,L] RewriteRule ^vendor - [F,L] ``` 完整内容 ``` <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] RewriteRule ^data - [F,L] RewriteRule ^runtime - [F,L] RewriteRule ^export - [F,L] RewriteRule ^application - [F,L] RewriteRule ^plugins - [F,L] RewriteRule ^thinkphp - [F,L] RewriteRule ^vendor - [F,L] </IfModule> ```