Avi*_*ash 2 javascript php database
关于PHP中的数据插入,我有一个问题.
在我的网站上有一个消息系统.
因此,当我的收件箱加载时,它会提供一个JavaScript警报.
我在我的网站上搜索了很多,最后我发现有人给我发了一条信息,上面有文字.
<script>
alert(5)
</script>
Run Code Online (Sandbox Code Playgroud)
那么如何限制插入数据库的脚本代码呢?
我正在运行PHP.
JavaScript代码存储在数据库中没有问题.实际问题是从数据库中获取非HTML内容并将其显示给用户,就好像它是HTML一样.正确的方法是确保您的呈现代码将文本视为文本,而不是HTML.
在PHP中,这可以通过htmlspecialchars在显示收件箱时调用收件箱内容来完成(可能伴随nl2br并可能转向<a>标签的链接).
避免使用striptags文本内容:作为用户,我可能想要输入如下消息:
... and to create a link, use <a href="your-url-here">your-text-here</a> ...
Run Code Online (Sandbox Code Playgroud)
striptags将删除标记,htmlspecialchars将文本显示为键入.
您不应该将其限制为插入数据库(如果StackOverflow会限制它,我们将无法在此处发布代码示例!)
您应该更好地控制显示方式.例如,添加htmlentities()或htmlspecialchars()到您的echo电话.
这称为XSS.在SO上有很多关于它的线索.
| 归档时间: |
|
| 查看次数: |
1566 次 |
| 最近记录: |