首页 > 解决方案 > 当互联网应用程序的输入是 SQL 语句的一部分时,会有哪些安全问题?

问题描述

我正在准备分布式系统的考试,我正在努力解决以下问题:

您已经为用户条目编写了一个使用 html 输入元素的 Internet 应用程序。用户输入是 SQL 语句的一部分。关于安全,您应该注意什么?解释解决方案和问题。举个例子。

有没有人熟悉这种情况并可以提供帮助?

标签: sqlsecurity

解决方案


这是一种常见的网络黑客技术,称为SQL 注入

SQL注入通常发生在您要求用户输入时,例如他们的用户名/用户ID,而不是名称/ID,用户给您一个SQL语句,您将在不知不觉中在您的数据库上运行。

如果没有保护,就有可能获取用户名和密码或删除整个数据库。有关示例,请参见https://www.w3schools.com/sql/sql_injection.asp

对于保护,您可以使用以下技术:

  • 1:使用准备好的语句(带有参数化查询)
  • 2:存储过程的使用
  • 3:白名单输入
  • 4:转义所有用户提供的输入

有关更多信息,请参阅:https ://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html


推荐阅读