目录介绍:
TP5框架 《防sql注入、防xss攻击》
TP框架中有自带的防止xss(跨站脚步攻击)、sql注入,在 application/config.php 中有个配置选项:
框架默认没有设置任何过滤规则,你可以是配置文件中设置全局的过滤规则:
// 默认全局过滤方法 用逗号分隔多个
'default_filter' = 'htmlspecialchars,addslashes,strip_tags',
把这些参数加上后,每次请求后端的接口中,框架就会对请求的变量进行自动过滤了。
也可以在获取变量的时候添加过滤方法,例如:
Request::instance()-get('name','','htmlspecialchars'); // 获取get变量 并用htmlspecialchars函数过滤
Request::instance()-param('username','','strip_tags'); // 获取param变量 并用strip_tags函数过滤
Request::instance()-post('name','','org\Filter::safeHtml'); // 获取post变量 并用org\Filter类的safeHtml方法过滤
可以支持传入多个过滤规则,例如:
Request::instance()-param('username','','strip_tags,strtolower'); // 获取param变量 并依次调用strip_tags、strtolower函数过滤
如果当前不需要进行任何过滤的话,可以使用(V5.0.3+版本) ps: 这个方法测试了下,好像没有起作用,你们也可以试下
Request::instance()-get('name','',false); // 获取get变量 并且不进行任何过滤 即使设置了全局过滤
如果有用到富文本编辑器或其他类似的提交html标签的变量,可以使用:
求教ThinkPHP 有自带的防止XSS的代码么
你好,据我所知,ThinkPHP并没有自带的防止XSS的代码.不过,在PHP上,要想防止XSS,其实很简单,只需要调用一个函数即可:htmlspecialchars()
在你的要求输入字符的位置,调用htmlspecialchars()函数即可.
希望我的回答能够对你有所帮助.
tp5怎么防sql注入 xss跨站脚本攻击
最有效的方法是使用参数化查询就能避免sql注入了,防止跨站的话可以使用微软白名单。或者关键字黑名单。
网友评论
最新评论
nfig.php 中有个配置选项: 框架默认没有设置任何过滤规则,你可以是配置文件中设置全局的过滤规则: // 默认全局过滤方法 用逗号分隔多个 'default_filter' = 'htmlspecialchars,addslashes,strip_tags', 把这些参数加上
s,strtolower'); // 获取param变量 并依次调用strip_tags、strtolower函数过滤 如果当前不需要进行任何过滤的话,可以使用(V5.0
,框架就会对请求的变量进行自动过滤了。 也可以在获取变量的时候添加过滤方法,例如: Request::instance()-get('name','','htmlspecialchars'); // 获取get变量 并用htmlspecialchars函数过滤 Request::instance(
me','',false); // 获取get变量 并且不进行任何过滤 即使设置了全局过滤 如果有用到富文本编辑器或其他类似的提交html标签的变量,可以使用:求教ThinkPHP 有
入多个过滤规则,例如: Request::instance()-param('username','','strip_tags,strtolower'); // 获取param变量 并依次调用strip_t