为什么mysqli prepare语句不清除数据

nitin verma

我正在使用此代码

<?php
include('connection.php');
$heading = $_POST['upd_head'];
$note =  $_POST['upd_text'];
$post_id = $_POST['up_post_id'];
$supd_head= "UPDATE posts SET heading= ?, note=? WHERE post_id=?";
$stmt_head= mysqli_stmt_init($db_conx);
if(!mysqli_stmt_prepare($stmt_head, $supd_head)){
echo "sql is not ready";
 }
else{
mysqli_stmt_bind_param($stmt_head, "sss", $heading,$note,$post_id);
mysqli_stmt_execute($stmt_head);
}

?>

当我给这个输入

<script>alert('hack');</script>

它保存在数据库中,并在更新数据后刷新页面时发出警报消息。为什么不先清理数据?但是我认为mysqli_real_escape_string在使用prepare语句时没有用

位置

mysqli_stmt_prepare不是为了防止跨站点脚本(XXS)

这完全取决于您如何显示数据。上面的链接显示了一个示例:

echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');

可以在OWASP网站上找到很多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么此MySQLi prepare语句无法更新数据库?

为什么清除不清除?

为什么数组保存最后的数据却不清除?

Django不清除数据

为什么“清除”不清除整个屏幕?

为什么单击提交按钮后不能清除数据?

为什么不清除模型值?

为什么flock不清除锁定文件?

为什么不清除datagridview?以及如何清除datagridView?

mysqli:为什么我需要一个“ if”语句来创建一个表?

为什么store_result()不返回等于mysqli正则语句的num_rows?

为什么在清除数据表时得到.clear()不是函数?

mysqli :: prepare中的if语句

为什么 MYSQLi 不更新数据库记录而是给出成功消息

为什么mysqli查询两次提交到数据库?

为什么os.system('cls')不清除最近的输出?

为什么通过 ColorAdjust 应用效果后画布不清除?

为什么不清除我的div?(JavaScript和Jquery)

为什么幻影引用入队后不清除?

为什么clearTimeout不清除此React组件中的超时?

为什么mysqli QUERY可以正常运行,但是相同的PREPARED语句版本返回SQL语法错误?

为什么UserDefaults.standard.set不保存我的数组?从后台删除应用程序后,将清除数据

成功插入数据库后,Mysqli_insert_id()绝对不返回任何内容。为什么?

为什么清除hashmap方法会清除数组列表中添加的映射

为什么if语句被忽略?

为什么不能使用 PDO 访问特定的数据库,但可以使用没有数据库名称的 mysqli?(使用 devserver/phpmyadmin)?

为什么datatable sort从表中擦除数据

Mysqli Prepare语句不起作用

如何在不清除数据库的情况下测试Django on_commit挂钩?