gpt4 book ai didi

java - JDBC 安全吗?

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:32 25 4
gpt4 key购买 nike

我是JDBC新手,新项目需要使用JDBC。我想知道的是,

JDBC 安全吗?

如何防止类似“Mysql注入(inject)”的问题?

使用JDBC需要注意哪些安全问题?

以及如何确保,我的意思是优化安全性,以防止黑客入侵数据库?

编辑:

我试过谷歌,如果我谷歌:

"php mysql security problems"=> 它给出了很多结果

如果我谷歌:

“jdbc mysql安全问题”=>几乎看不到任何相关页面

这是否意味着,使用 jdbc 是安全的?不用担心被黑客入侵?

最佳答案

is the JDBC secure?

JDBC 的安全性是您使用的 JDBC 驱动程序的一个属性。一般来说,如果您的驱动程序使用 SSL 传输层,那么它与您的 SSL key 的强度一样安全。如果它使用未加密的传输,则它是不安全的。

How to prevent "Mysql Injection"-like problem?

当您为 JDBC 编写 SQL 查询时,注意不要合并可能包含嵌入式 SQL 的“原始”字符串。例如:

String query = "SELECT * FROM SOME_TABLE WHERE X = '" + someString + "' ;";

如果 someString 包含未转义的“'”字符,那么您打算成为 SQL 文字字符串的内容实际上可以更改为完全不同的内容。解决方法是拒绝 someString 如果它包含任何“'”字符(或其他讨厌的字符),或者使用插入 SQL 字符串转义的方法对其进行预处理。

另一种(更简单/更可靠/更安全)的方法是使用带有“?”的PreparedStatement占位符并使用 setString(...) 等将值注入(inject)查询。使用 PreparedStatement,JDBC 驱动程序保证使用适当的引号和转义来防止 SQL 注入(inject).

What are the security issues that I need to pay attention when I use JDBC?

除上述内容外,我不知道任何特定于 JDBC 的内容。事实上,上述问题都不是 JDBC 特有的。

And how to ensure, I mean optimize the security, in order to prevent from hackers to hack the database?

  1. 购买/阅读一本关于构建安全系统的好书。
  2. 小心。
  3. 请安全专家审核您的代码/系统。

关于java - JDBC 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291584/

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