首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确预防XSS

正确预防XSS
EN

Stack Overflow用户
提问于 2012-03-24 21:30:34
回答 1查看 110关注 0票数 0

我知道为了防止XSS,我们需要了解上下文。

当我们回显$userinput时,我们需要意识到这样一个事实:如果输入进入文本框值、textarea值或除法html区域,等等。

我想简化回送业务,这样我就可以使用一个函数来满足我的大部分回显需求。考虑到这一点,我把下面的函数组合在一起,但我不确定,依赖它是否是个好主意。

当然,我做了一些假设。也就是说,我总是为urls使用内置的urlencode。我虔诚地用‘或’或“来分隔属性。

考虑到这一点,我是否可以使用下面的安全回显而不是普通回显来防止XSS?

代码语言:javascript
复制
function safeecho($str)
{

    return htmlentities($str, ENT_QUOTES, "UTF-8");

}

我不确定的一件事是<Style>上下文。我见过人们谈论样式表的“表达式”问题。我不知道这是怎么处理的。但是,由于我不打算在样式表或javascript中输出用户输入,所以我不太担心这些事情!当我发现自己需要在js区域或样式表中输出用户输入时,我不会使用这个函数。但我仍然对你关于如何处理这些背景的评论感兴趣。但是,我还是很担心html和form对象这类常见的东西。

底线问题是强迫utf8和ent_quotes,我安全吗?

EN

回答 1

Stack Overflow用户

发布于 2012-03-25 06:20:43

Does实体会转义吗。如果是这样的话,基本上是可以的。您需要处理的javascript: urls始终存在问题。还请记住,像onclick这样的html属性实际上是javascript,所以您的函数在那里没有效果。你就得逃跑了。请参阅OWASP预防备忘单。关于CSS,如果可以的话,避免将用户数据放在那里。它需要一种基于白名单的键值验证方法。

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

https://stackoverflow.com/questions/9855787

复制
相关文章

相似问题

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