Mysql 更改了我的 html 标签,使它们变得毫无用处
我正在将数据导入数据库到文本字段。但是,当我尝试输入时,
<strong> Hi There </strong>
我在表中找到它(使用 php myadmin),因为
"<strong> Hi There </strong>"
它在我的前端网页上显示为
<strong> Hi There </strong>
显然不是所需的结果。
这里有什么想法吗?我使用的是常规文本形式。
I am importing data into a database to a text field. However when I try to input
<strong> Hi There </strong>
I find it in the table (using php myadmin) as
"<strong> Hi There </strong>"
That displays it on my front webpage as
<strong> Hi There </strong>
Clearly not the desired result.
Any ideas here? I am using a regular text form.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当您输入数据时,它可能会被擦除 - 可能使用
htmlspecialchars()
或htmlentities()
要解码标签,请使用
html_entity_decode()
http://php.net/manual/en/function.html-entity-decode.php
When you are entering the data, it is probably being scrubbed - likely with
htmlspecialchars()
orhtmlentities()
To decode the tags, use
html_entity_decode()
http://php.net/manual/en/function.html-entity-decode.php
是的。这里发生的是简单的编码,因此存储的形式是安全的。在将其显示在网页上之前,请通过 PHP 内置的 html_entity_decode() 传递它。
请注意,如果没有发生这种情况,某人很容易将自己的 HTML 输入到不应包含 HTML 的字段(例如用户名),然后他们可以修改您的网站。
Yeah. What's happening here is simple encoding, so that the stored form is safe. Before displaying it on the webpage, pass it through the PHP builtin html_entity_decode().
Note that if this didn't happen, it would be very easy for someone to input their own HTML to a field that shouldn't have HTML (like username) and they could then modify your website.
当处理数据库中保存的或内容中显示的不同用户输入时,您应该始终注意 xss 攻击。最好安全一点,然后抱歉...
用户名:
检查最低限度和最大长度,不超出 ASCII 范围 &严格禁止使用 html 或特殊字符,如
<>;'"%
并修剪开头和结尾的空格。如果输出到表单,请始终使用htmlspecialchars()
。密码:
检查最低限度和最大长度,至少拥有 1 个国会大厦和 1 个 alpha 字符以确保安全。保存到数据库时始终加密不要使用 md5。如果输出到表单,如果不使用
type="password"
属性,则始终使用htmlspecialchars()
。电子邮件:
检查它是否是有效的电子邮件地址。
主要评论、帖子提交区域:
剥离所有 javascript、html 和/或允许用户在图像、链接、格式需要时插入 BBcode,然后在显示时将 BBcode 转换为有效的 html。
When handling different user inputs that are held in the database or displayed back within your content you should always be aware of xss attacks. Better safe then sorry...
Usernames:
Have a check for minimum & maximum length, no out of the ASCII range & strictly no html or special chars like
<>;'"%
and trim spaces from the start & end. If outputting to a form always usehtmlspecialchars()
.Passwords:
Have a check for minimum & maximum length, make securer by having at lease 1 capitol and one alpha char. Always encrypt when saving to database & dont use md5. If outputting to a form always use
htmlspecialchars()
if not using thetype="password"
attribute.Emails:
Check that it is a valid email address.
Main Comments,Posts Submission areas:
Strip all javascript, html and/or allow user to insert BBcode if needed for images, links, formatting then convert the BBcode to valid html when displaying.