gpt4 book ai didi

string - 在 dart 中转义字符串中的单引号和双引号

转载 作者:IT老高 更新时间:2023-10-28 12:47:06 28 4
gpt4 key购买 nike

我正在用 Flutter 创建一个基本的聊天应用程序。它涉及一个文本字段,用户可以在其中输入任何文本并单击发送按钮。

该应用程序适用于您在文本框中输入的任何字符串,但包含引号的字符串除外。尝试将该字符串添加到 sql 数据库时出现数据库异常,因为引号没有转义。

在字符串上执行 replaceAll("'", "\'").replaceAll('"', "\'") 就像我在 sql 查询中使用双引号一样,但是现在所有的双引号都是单引号。

感谢您的帮助。

最佳答案

数据库是否支持绑定(bind)参数?如果没有,您用来与数据库对话的包是否有字符串转义功能?

这些会比手动执行更好,特别是因为用户输入中除了引号之外可能存在非常不安全的内容。如果您手动将查询字符串组合在一起并将其发送到数据库,它将容易受到 SQL 攻击。

对于您的直接问题,您将在两个地方都用单引号替换。假设您可以通过以斜杠作为前缀来转义引号,它应该看起来像 .replaceAll('"', '\\"').

寻找一种更安全的方式来清理用户输入。

关于string - 在 dart 中转义字符串中的单引号和双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52685675/

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