【问题标题】:How Can I Make It So Users Cannot Enter Raw HTML Code In Forms Using PHP? [duplicate]如何使用户无法使用 PHP 在表单中输入原始 HTML 代码? [复制]
【发布时间】: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 代码,例如 .如何阻止用户插入它,而只是将其显示为常规文本?

【问题讨论】:

标签: php html sql


【解决方案1】:

你无法阻止它。您必须正确处理它,在这种情况下,您可以在 HTML 字符串上使用 htmlentities() 以某种方式对其进行转换,这样当您输出它时,浏览器就不会开始呈现 HTML 标签。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多