tp5.0自带防止xss的简单介绍

第三方分享代码
hacker 2年前 (2023-03-06) 黑客团队 129 5

目录介绍:

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注入了,防止跨站的话可以使用微软白名单。或者关键字黑名单。

相关推荐

网友评论

  • (*)

最新评论

  • 访客 2023-03-07 01:24:36 回复

    nfig.php 中有个配置选项: 框架默认没有设置任何过滤规则,你可以是配置文件中设置全局的过滤规则: // 默认全局过滤方法 用逗号分隔多个 'default_filter' = 'htmlspecialchars,addslashes,strip_tags', 把这些参数加上

    1
  • 访客 2023-03-07 01:10:31 回复

    s,strtolower'); // 获取param变量 并依次调用strip_tags、strtolower函数过滤 如果当前不需要进行任何过滤的话,可以使用(V5.0

    2
  • 访客 2023-03-06 23:19:10 回复

    ,框架就会对请求的变量进行自动过滤了。 也可以在获取变量的时候添加过滤方法,例如: Request::instance()-get('name','','htmlspecialchars'); // 获取get变量 并用htmlspecialchars函数过滤 Request::instance(

    3
  • 访客 2023-03-06 22:55:52 回复

    me','',false); // 获取get变量 并且不进行任何过滤 即使设置了全局过滤 如果有用到富文本编辑器或其他类似的提交html标签的变量,可以使用:求教ThinkPHP 有

    4
  • 访客 2023-03-07 04:21:58 回复

    入多个过滤规则,例如: Request::instance()-param('username','','strip_tags,strtolower'); // 获取param变量 并依次调用strip_t

    5