我在一个项目中使用HTML4,我需要能够使用通过POST提交的TinyMCE预先填充文本区域(用于服务器端错误处理,而不删除他们所有的工作)我知道文本区域的工作方式很像标签,因为其中的HTML4不会被解析为DOM,所以大多数网站都会显示演示:
<textarea name="demo"><?=$_POST['demo']?></textarea>
但是,当用户提交包含不匹配的<textarea>或</textarea>标记的HTML时会发生什么呢?
有没有管理这种风险的标准方法?
发布于 2014-04-22 04:54:44
输出时在php中使用htmlspecialchars($_POST['demo'])
发布于 2014-04-22 04:56:20
仅从用户输入中删除<textarea>标记。请参阅使用正则表达式的this post。它告诉你如何只删除某些标签(不像htmlentities),这会删除所有标签。
发布于 2014-04-22 04:56:31
htmlentities函数会将每个html字符(例如<)替换为可以正确显示但不会破坏您的html的字符。http://www.php.net/manual/en/function.htmlentities.php
https://stackoverflow.com/questions/23205814
复制相似问题