防止 HTML 形式的 JS/CSS

Prevent JS/CSS in HTML form

本文关键字:JS CSS HTML 防止      更新时间:2023-09-26

我会制作一个HTML表单,但我的朋友在<input type="text">中插入了一个CSS标记,它将我的背景颜色设置为粉红色。我怎样才能避免这种情况?我需要更改我的 SQL 插入字符串吗?也有一种方法可以为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。

您只需要将特殊字符(如 < & >)替换为实体,即可阻止用户提供的数据的行为类似于您的标记。如果用户输入的数据转到数据库,则您获取并显示它,并在该部分中看到问题。如果您的后端是即.PHP那么所有数据都应通过htmlspecialchars()显示传递,这将解决您的问题。查看文档:http://php.net/manual/de/function.htmlspecialchars.php