gpt4 book ai didi

javascript - 通过白名单实现 SQL 安全

转载 作者:行者123 更新时间:2023-12-03 09:07:17 28 4
gpt4 key购买 nike

在我的应用程序的注册页面上,有一个用户名字段。我想防止 SQL 注入(inject)攻击,同时允许复杂的名称,例如 Aldéric D'Aurve-Sanct,其中包含用作撇号的单引号。

如果我使用 regex string like this one 将名称列入白名单,然后我可以使用双引号(名称中不允许使用)来完全转义字符串吗?换句话说,当用双引号引起来时,使用包含单引号但不包含其他控制字符的字符串是否安全?这种简单的解决方案是否可能引入任何漏洞?

注意:我不想在这种情况下使用准备好的语句。

最佳答案

如果你真的不能使用准备好的语句,永远不要逃避自己,如果你需要的话,有一些函数可以做到这一点。

例如,如果您使用 php PDO,请使用 PDO::quote : https://secure.php.net/manual/en/pdo.quote.php

但是,如果可能的话,请使用准备好的语句:

  • 无需列入黑名单
  • 无需逃避
  • 无注入(inject)风险
  • 一切都被允许

关于javascript - 通过白名单实现 SQL 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32164755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com