首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >过滤纯文本和HTML中的XSS

过滤纯文本和HTML中的XSS
EN

Stack Overflow用户
提问于 2013-08-07 15:45:24
回答 1查看 423关注 0票数 0

我有我自己的函数,叫做xss,它返回干净的文本。我想知道,这是否足够,或者我在那里有一些bug

代码语言:javascript
复制
function xss($str,$html = false)
{
  if($html){
    //HTML Purfier called here
  }else{
    return str_replace(array('&','"',"'",'<','>'), array('&amp;','&quot;','&#39;','&lt;','&gt;'), $str);
  }
}

我不想使用strip_tags,因为它删除了所有标签。我想保留它们,但替换为save实体。替换这些字符时会保存吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-14 02:21:37

您应该考虑一些其他可能有问题的字符。例如':‘和';’。假设您返回一个标记属性内的文本(如href),然后攻击者可以使用类似'http://yoursite.com/blah/?parameter=javascript:alert(String.fromCharCode(65))(http://yoursite.com/blah/?parameter=javascript:alert(String.fromCharCode(65%29%29)‘的内容,这将反映为:

代码语言:javascript
复制
...
<a href="javascript:alert(String.fromCharCode(65))">
...

或者他可以使用';‘在脚本中开始一个新的行,如果有任何东西反映在那里的话。尝试覆盖所有可能存在问题的字符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18097527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档