php – ADOdb中的SQL注入和一般网站安全性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – ADOdb中的SQL注入和一般网站安全性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1550字,纯文字阅读大概需要3分钟。
内容图文
![php – ADOdb中的SQL注入和一般网站安全性](/upload/InfoBanner/zyjiaocheng/891/634596caba8945c8a2d53f36edd002b6.jpg)
我已经做了很多阅读,但仍然不理解100%SQL注入的发生方式!
我想从那些知道基于我的例子的SQL注入的具体例子中看到它,因此它可以被复制,测试和修复.我试过SQL注入我的代码而不能,所以我希望有人来证明我的意思!
1.我认为SQL注入只能通过POST或GET方法进行,这意味着在网站上它应该是帖子形式,例如’注册或搜索’或查询’search.php?tags = love’?
说这可以注入以下具有POST方法的代码吗?
$name = trim($_POST['username']);
$mail = trim($_POST['email']);
$password = trim($_POST['password ']);
if ($errors == "false") {
$sql =
"INSERT INTO
clients
SET
name='" . mysql_real_escape_string($name) . "',
mail='" . mysql_real_escape_string($mail) . "',
password='" . mysql_real_escape_string(sha1($password)) . "'";
$connection->execute($sql);
}
2.另一个有GET方法:rate.php?like& videoID = 250& userID = 30
$sql =
"SELECT
videoID
FROM
likes
WHERE
videoID = '" .mysql_real_escape_string($videoID). "' AND UID = '" .mysql_real_escape_string($userID). "' LIMIT 1";
$connection->execute($sql);
请帮助那些对主题感到自由的人,但请使用具体的例子.
提前致谢,
伊利亚
解决方法:
当用户输入编码不正确时,就会发生SQL注入攻击.通常,用户输入是用户使用她的查询发送的一些数据,即$_GET,$_POST,$_COOKIE,$_REQUEST或$_SERVER数组中的值.但是,用户输入也可以来自各种其他来源,如套接字,远程网站,文件等.因此,您应该将除常量之外的所有内容(如“foobar”)视为用户输入.
在您发布的代码中,mysql_real_escape_string用于编码(=转义)用户输入.因此代码是正确的,即不允许任何SQL注入攻击.
请注意,很容易忘记对mysql_real_escape_string的调用 – 对于熟练的攻击者来说,一次就足够了!因此,您可能希望使用现代PDO和prepared statements而不是adodb.
内容总结
以上是互联网集市为您收集整理的php – ADOdb中的SQL注入和一般网站安全性全部内容,希望文章能够帮你解决php – ADOdb中的SQL注入和一般网站安全性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。