如何使用户无法使用 PHP 在表单中输入原始 HTML 代码? [复制]
Posted
技术标签:
【中文标题】如何使用户无法使用 PHP 在表单中输入原始 HTML 代码? [复制]【英文标题】:How Can I Make It So Users Cannot Enter Raw HTML Code In Forms Using PHP? [duplicate] 【发布时间】:2021-08-18 19:34:44 【问题描述】:我正在尝试这样做,以便用户可以将信息插入到这样的 html 表单中
<form method="POST">
<textarea name="form" cols="58" rows="4" placeholder="form"></textarea>
<input type="submit" name="Create">
</form>
<?php
include("connection.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST')
$input = mysqli_real_escape_string($con, $_POST['form']);
$query = "insert into table (column) values('$input');
if (mysqli_query($con, $query))
header("Location: input.php");
?>
然后input.php就是
<?php
include("connection.php");
$query = "SELECT * FROM table";
$execute = mysqli_query($con, $query);
if ($execute)
while ($row = $execute->fetch_assoc())
echo $row['column'];
?>
但是,用户可以只输入原始 HTML 代码,例如 .如何阻止用户插入它,而只是将其显示为常规文本?
【问题讨论】:
另见:***.com/questions/60174/… 使用准备好的语句并正确编码您的输出,无论他们尝试注入多少 HTML、javascript 或 SQL。 【参考方案1】:你无法阻止它。您必须正确处理它,在这种情况下,您可以在 HTML 字符串上使用 htmlentities()
以某种方式对其进行转换,这样当您输出它时,浏览器就不会开始呈现 HTML 标签。
【讨论】:
以上是关于如何使用户无法使用 PHP 在表单中输入原始 HTML 代码? [复制]的主要内容,如果未能解决你的问题,请参考以下文章