【发布时间】:2013-09-16 10:03:37
【问题描述】:
我会制作一个 HTML 表单,但我的朋友在 <input type="text"> 中插入了一个 CSS 标记,并将我的背景颜色设置为粉红色。哈哈
我怎样才能避免这种情况?我需要更改我的 SQL INSERT 字符串吗? JS也有办法做到这一点吗?谢谢
HTML
<div id="cadastro">
<fieldset style="border:none;">
<legend style="text-align:center;">
<h1>SEJA UM MEMBRO IFBB</h1>
<p class="sub-legenda">Filie-se e ajude o ifbb ser ainda mais forte.</p>
</legend>
<form enctype="multipart/form-data" action="#">
<input type="text" class="nomeCadastro" placeholder="Nome" required>
<br>
<input type="email" class="emailCadastro" placeholder="E-mail" required>
</fieldset></div>
他在<input type="text" class="nomeCadastro">中插入的CSS标记:
<style>background-color:pink;</style>
我正在使用 PHP 5。
【问题讨论】:
-
你能更具体一点并显示代码吗?
-
strip_tags()并没有真正解决问题。这只是(坏的)解决方法。 -
有两种方法。如果您需要让您的用户使用您的表单发送
html,那么您希望过滤输入以仅允许您希望允许的那些标签。如果您想禁止用户发布任何html,您可以在将其输出回页面时转义他们发送的所有内容。在这两种情况下,您都可以依赖服务器端技术。如果您使用ajax加载数据,您可以查看第三个答案here。前 2 个不安全(类型 0 xss)。
标签: javascript html css sql forms