防止WebSQL数据库中的SQL注入? (如何处理数据中的引号?)

2023-12-14

我目前正在将 mysql 数据库的 xml 导出导入到 websql 数据库中,以用于在线移动体验。

一切工作正常,直到我插入的任何字符串中出现双引号。通常,在 PHP 中我会在插入时使用类似: mysql_real_escape_string 。

我知道我可以尝试的选项是编写正则表达式并创建用于添加/删除斜杠的函数。谷歌上有很多这方面的例子 - 但我想看看是否有其他人遇到过这个问题,并且可能有更好的解决方案。

谢谢你的帮助!


忘记逃跑。做正确的事:使用占位符。在这种情况下,数据永远不会被视为除了原始数据字符串之外的任何东西。在 Web SQL 中,这可以通过以下方式完成executeSql. See 预处理部分关于其工作原理的解释。

直接来自文档简介的示例:

db.readTransaction(function (t) {
  t.executeSql('SELECT title, author FROM docs WHERE id=?', [id], function (t, data) {
    report(data.rows[0].title, data.rows[0].author);
  });
});

无论里面有什么id变量,此请求将查找逐字值,永远不会被解释为命令的一部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止WebSQL数据库中的SQL注入? (如何处理数据中的引号?) 的相关文章

随机推荐