SQL Injection attack - the use of mysqli_multi_query()(SQL注入攻击-使用mySQLI_MULTI_QUERY())
本文介绍了SQL注入攻击-使用mySQLI_MULTI_QUERY()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我现在正在学习MySQL,它涉及的主题之一是处理用户输入时的安全问题--一个令人担忧的问题是注入攻击。我试图复制书中演示的攻击,如添加查询$query = "select * from temp_table; drop table temp_table
,我使用了mysqli_query($connection,$query)
。什么都没发生。我改为使用mysqli_multi_query()
,发现它执行这两个语句。最后,我发现mysqli_query
每次只运行一个查询。
我的问题是,如果我使用mysqli_query
,从理论上讲,系统应该不会担心额外的语句注入攻击?或者,即使服务器正在使用mysqli_query
?
推荐答案
确实,基本mysqli_query()
将只运行一条语句。因此,您不必担心SQL注入攻击会诱使您的应用程序运行多条语句。
但一条语句可以包含子查询或SELECT... UNION SELECT...
。
一条语句可以读取它不打算读取的数据。或引发旨在使您的服务器不堪重负的拒绝服务攻击。
或者它可能只是一个错误,根本不是恶意攻击。
SELECT * FROM Users WHERE last_name = 'O'Reilly'; -- woops!
SQL注入的解决方案非常简单,很容易理解。我不明白为什么这么多开发人员找借口不写安全代码。
这篇关于SQL注入攻击-使用mySQLI_MULTI_QUERY()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:SQL注入攻击-使用mySQLI_MULTI_QUERY()
猜你喜欢
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- PHP - if 语句中的倒序 2021-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01