javascript - 使用 JavaScript 清理 SQL 输入的最佳实践?

标签 javascript sql html database sanitize

因此,随着 HTML5 在客户端为我们提供本地 SQL 数据库,如果您想编写一个选择或插入,您将不再能够通过说 $buddski = mysql_real_escape_string($tuddski ) 因为 PHP 解析器和 MySQL 桥距离很远。这是一个全新的 SQLite 世界,您可以在其中使用 JavaScript 编写查询并解析结果。

但是,虽然您可能不会让整个站点的数据库都崩溃,但由于恶意注入(inject)攻击而导致数据库损坏或删除的用户将会非常沮丧。

那么,在纯 JavaScript 中转义/净化您的输入的最佳方式是什么,这样它们就不会对您用户的内置数据库造成严重破坏?

脚本?规范?有人吗?

最佳答案

一旦您将计算完全委托(delegate)给客户端,游戏就结束了。即使您的脚本是防弹的,用户仍然可以在本地加载他们自己的脚本(对于良性示例,请参见 GreaseMonkey)- 并绕过您的脚本自行访问客户端数据库。

在我看来,客户端数据库与不受信任的客户端(也就是说,几乎所有客户端)唯一有用的应用是镜像/缓存主要的服务器端数据库的部分 - 这样客户端就不会必须根据重复请求通过网络提取数据(如果此类客户端数据库损坏,只需使其无效并再次从服务器加载数据)。

关于javascript - 使用 JavaScript 清理 SQL 输入的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743107/

相关文章:

javascript - 根据不正确的输入预测 JavaScript 字符串

javascript - 添加和删​​除 jquery li 元素

javascript - Chrome 扩展程序定时重定向

mysql - 在 SQLite 中连接三个表

sql - 无论如何将SQL查询提取到Excel中

python - 如何使用 WTForms 省略 <input> 元素上的结束斜杠?

javascript - DOM 完成后运行脚本

javascript - 如何在React JS中不使用JavaScript提示来收集Firebase电话验证码

sql - 让两个 SQLite 数据库互相引用

javascript - 在 Morris Chart 上添加动画效果