我已经“洒”如果我使用HTMLPurifier,还需要使用htmlentities吗?
htmlentities($user_input, ENT_QUOTES, 'UTF-8')
在我的意见,我到处回波数据,用户在我的应用程序进入的机会。
这是非常乏味,我想知道如果在我的控制器中使用HTMLPurifier将是一个安全的替代品,在视图上每echo
使用htmlentities
。
我注意到HTMLPurifier独自将,例如,尝试关闭打开的<div>
而不是取消它,这样即使有些自作聪明进入了他的名字作为Johnny<div>
我echo
它在我看来,它打破了我的整个布局。
但如果不是我一个人使用htmlentities
我得到
Johnny<div>
和我的布局将被保留。
所以我想知道这是HTMLPurifier配置的问题还是最好的做法是与htmlentities
一起使用它。
我知道HTMLPurifier具有其他功能合规性和有效的HTML,但我最关心的是XSS。
您认为如何?
关于'sprinkling':使它成为一个简短的包装函数'html(“text”)'或者只是'h()'。最好通过简单性来实现安全性,而不是通过语法开销。 – mario
+1,正在计划为此创建一个辅助函数,并从视图中调用它,而不是在每个'echo'上使用上面的完整语法 – pepe