gpt4 book ai didi

php - 删除插入到 mysql 中的 post html、js、css

转载 作者:可可西里 更新时间:2023-11-01 08:02:16 25 4
gpt4 key购买 nike

当我在文本输入上发布 htmljscss 标记、规则和语法时。它显示在页面结果中!
我使用 $conn->real_escape_stringmysqli prepared statement 但对我来说仍然不安全。

我的代码是:

<?php
require 'config/config.php';
mysqli_set_charset($conn,"utf8");
$qmsg = $_POST["qsmsg"];
$qmsgs = mysqli_real_escape_string($conn, $qmsg);
$ansr = "Answer";
$userName = "John";
$userId="4";
$userType="user";
$imgsp="images/avatar.jpg";

$stmt = $conn->prepare("INSERT INTO qa (qus, ansrq, uname, uid, utype, uimage) VALUES (?, ?, ?, ?, ?, ?)");
$stmt->bind_param("sssiss", $qmsgs, $ansr, $userName, $userId, $userType, $imgsp);
...
$stmt->close();
$conn->close();
?>

我页面上的结果:
enter image description here

最佳答案

这是一个 XSS 问题,而不是数据库或 CSS 问题。

快速回答是您必须调用htmlspecialchars您在 HTML 上下文中显示的任何用户数据。这将中和用户有意或无意引入的任何 HTML。

长答案是人们喜欢能够输入一些格式,所以考虑使用像 Markdown 这样的东西因此您可以键入诸如 *bold*_italic_ 之类的内容,而不必编写实际的 HTML。有许多现成的 PHP 实现。

关于php - 删除插入到 mysql 中的 post html、js、css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52213206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com