php – 准备语句保护您的数据库吗?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 准备语句保护您的数据库吗?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
知道你们中的一些人可能会关闭这个问题,但我的问题来自你和你的答案.我正在阅读sql注入的过去两小时的问题和答案以及如何保护您的数据库.我看到的大量网页和教程也是如此.

我发现有一人声称准备语句可以保护你的数据库,另外50人声称它不是.

另一方面,我读到mysql_real_escaPE_string完成这项工作,而其他人则说它不是.

我的问题是谁相信?

另外,这是一个适当的准备声明吗?

$stmt = $dbh->PRepare("SELECT PHPro_user_id,PHPro_username,PHPro_password From PHPro_users 
                    WHERE PHPro_username = :PHPro_username AND PHPro_password = :PHPro_password");

        /*** bind the parameters ***/
        $stmt->bindParam(':PHPro_username',$PHPro_username,PDO::PARAM_STR);
        $stmt->bindParam(':PHPro_password',$PHPro_password,PDO::PARAM_STR,40);

        /*** execute the prepared statement ***/
        $stmt->execute();
准备好的陈述没有.只要所有不受信任的数据都通过参数传递而不是插入到语句中,绑定参数就会保护语句(而不是整个数据库).当人们使用预准备语句时,他们几乎总是使用绑定参数,因此这两个名称经常混为一谈.

>准备声明
>使用变量作为附加参数运行语句

MysqL_real_escape_string几乎总能完成这项工作,但由于它为流程添加了额外的步骤,因此更容易出现人为错误.

>逃避每个变量>将变量连接到sql语句中>运行声明

脚本宝典总结

以上是脚本宝典为你收集整理的php – 准备语句保护您的数据库吗?全部内容,希望文章能够帮你解决php – 准备语句保护您的数据库吗?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。