PHP   发布时间:2019-11-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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();
@H_262_12@

解决方法

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

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

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

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

@H_262_12@ @H_262_12@

大佬总结

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

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

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