如何向文本区域添加安全性,以便用户可以输入的唯一内容(除了普通文本之外)是新行。
示例:
<textarea>
For some reason
I want this on 2 lines
</textarea>
不允许使用任何其他类型的标签。我已经用 htmlentities、strip_tags、nl2br 等 php 安全功能做了很多测试,但我还没有找到任何可以做我想要的事情。有什么想法吗?
更新:我没有任何关于 htmlentities 如何对我不起作用的示例,因为这是根据过去的经验,但如果有人可以为我提供一个如何使用 htmlentities 来执行此操作的示例,那就太好了赞赏!
最佳答案
您需要做的是定义一个允许值的白名单,其中包括大小写字母字符、行返回,然后是您想要允许的任何其他内容(标点符号、数字等)。正则表达式很容易做到这一点并且您需要在提交时根据此验证文本区域的内容。
此外,请确保您始终在服务器端运行它。您也可以在客户端运行它,但您必须确保该机制无法在浏览器中被规避,因此存在服务器验证依赖性。
关于php - 只允许在文本区域中换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7061233/