我有一个PHP Web应用程序.我不想让用户将HTML发布到我的网站.
如果我strip_tags在保存到我的数据库之前只对所有数据运行(),那么strip_tags()是否足以阻止XSS?
我问,因为如果XSS被阻止,我不清楚读取strip_tags的文档.浏览器允许<0/script>(是的,零)作为有效的HTML 似乎存在一些错误.
UPDATE
我意识到我可以简单地运行htmlspecialchars所有输出的数据; 但是,我的想法是 - 因为我不想首先允许HTML,所以在保存到我的数据库之前,一劳永逸地清理我的数据会更容易(并且在学术上更好),然后每次都要担心如果数据是安全的,我输出数据.
我应该htmlentities用strip_tags吗?
我目前正在使用strip_tags添加到数据库并考虑删除htmlentities输出; 我希望在服务器上生成HTML时避免不必要的处理.
仅在strip_tags没有允许标签的情况下使用是否安全?
我想删除一个字符串的所有html标签(包括它们的属性,如类,SRC,身份证等),但我想保留<ul>,<li>和<br />标签.我将如何做到这一点?
任何建议将不胜感激.
谢谢!