我遇到了问题。我正在用PHP构建一个Ajax应用程序,并通过htmlspecialchars()消毒我的输入。然后我处理输入的字符串并使用它来设置某些html元素的数据属性。有我的问题。jQuery解析htmlspecialchars()字符串为文本
我们只是说用户写了<html>
。该输入与htmlspecialchars()一起将变成<html>
。现在这可以用显示的内容,但是对于数据属性,我希望它被插入为<html>
。这可能吗?
我遇到了问题。我正在用PHP构建一个Ajax应用程序,并通过htmlspecialchars()消毒我的输入。然后我处理输入的字符串并使用它来设置某些html元素的数据属性。有我的问题。jQuery解析htmlspecialchars()字符串为文本
我们只是说用户写了<html>
。该输入与htmlspecialchars()一起将变成<html>
。现在这可以用显示的内容,但是对于数据属性,我希望它被插入为<html>
。这可能吗?
有一个功能,反转的htmlspecialchars做什么:
htmlspecialchars_decode()
http://php.net/manual/en/function.htmlspecialchars-decode.php
消毒是的,但这是一个好主意吗? –
不错,xss漏洞 – Ziarno
你打算用数据属性呢? –
用户输入一个字符串,我分解字符串,并使用数据属性来搜索字符串。 – Someone
问题是,你*当然可以避免使用htmlspecialchars()来处理那个特定的情况,但是你会首先放弃你使用卫生设备的安全性 - 那么你也可以停止使用它根本就在那个页面上。这可能不是一个好主意。你如何搜索字符串,也许你可以在这一点上转换特殊字符? –