如何绕过 Javascript 中的 sql 注入错误

How to bybass sql injection error in Javascript

我在尝试 运行 javascript 中的以下代码时出现 sql 注入错误。我正在尝试寻找一种使用参数或某些占位符来更新此方法以绕过注入错误的方法,但我不确定。问题在于,由于要创建一个安全的网站,可以将下面连接为 'i' 的变量替换为一个参数,以便该网站在从数据库中选择记录时不会受到攻击。我在 php 中看到了此注入的修复程序,就像下面文章中的修复程序一样,试图在 Javascript 中查看如何解决此问题。下面的'i'可以是'name'。即,Select name as overday_disolay from country,它采用用户在表单中键入的名称并将占位符 'i' 替换为用户提供的 'name'。下面的文章解释了更多,但它不是 javascript 中的修复(我不能使用在文章中使用的相同功能,所以我需要在 Javascript 中解决)。应用程序抛出注入错误。

https://www.acunetix.com/websitesecurity/sql-injection/

 function getUnionDataSql()
{
    var sql = "";

    sql += " SELECT DISTINCT "+ i+ " AS overday_display FROM country UNION"

}

您不应直接将变量传递到您的 SQL 语句中。这将允许用户在您的 SQL 语句中插入恶意代码。

因此,您应该提前使用 SQL 包的转义函数来避免这种情况。

我能够解决这个问题。内部应用程序允许有 2 个选项。一种是使用子字符串或使用参数代替上述变量。另一种是在应用程序中配置保留字。