我正在将数据导入数据库中的文本字段。但是,当我尝试输入
<strong> Hi There </strong>
我在表中找到它(使用 php myadmin)
"<strong> Hi There </strong>"
在我的前端网页上显示为
<strong> Hi There </strong>
显然不是想要的结果。
这里有什么想法吗?我正在使用常规文本表单。
我正在将数据导入数据库中的文本字段。但是,当我尝试输入
<strong> Hi There </strong>
我在表中找到它(使用 php myadmin)
"<strong> Hi There </strong>"
在我的前端网页上显示为
<strong> Hi There </strong>
显然不是想要的结果。
这里有什么想法吗?我正在使用常规文本表单。
当您输入数据时,它可能正在被清除 - 可能带有htmlspecialchars()
或htmlentities()
要解码标签,请使用html_entity_decode()
是的。这里发生的是简单的编码,因此存储的形式是安全的。在将其显示在网页上之前,将其传递给 PHP 内置的 html_entity_decode()。
请注意,如果这没有发生,那么某人很容易将自己的 HTML 输入到不应包含 HTML 的字段(如用户名)中,然后他们可以修改您的网站。
在处理保存在数据库中或显示在您的内容中的不同用户输入时,您应该始终注意 xss 攻击。最好安全,然后对不起...
用户名:
检查最小和最大长度,不超出 ASCII 范围,严格禁止 html 或特殊字符,如<>;'"%
从开头和结尾修剪空格。如果输出到表单总是使用htmlspecialchars()
.
密码:
检查最小和最大长度,通过至少 1 个 capitol 和一个 alpha char 来确保更安全。保存到数据库时始终加密,不要使用 md5。如果输出到表单,请始终使用htmlspecialchars()
if 不使用该type="password"
属性。
电子邮件: 检查它是否是有效的电子邮件地址。
主要评论、帖子提交区域: 剥离所有 javascript、html 和/或允许用户在需要时插入 BBcode 用于图像、链接、格式,然后在显示时将 BBcode 转换为有效的 html。