gpt4 book ai didi

c - 如何在 C 中打开数据库句柄并使用 SWIG 将其传递给 Perl?

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:47 26 4
gpt4 key购买 nike

请帮助我编写 SWIG 接口(interface)。

我想在 C 程序中打开一个数据库连接句柄。这个句柄必须传递给 Perl,我将在其中使用 Perl DB 接口(interface)与数据库进行交互。出于安全目的,我们想使用这种机制。我想使用 SWIG 接口(interface)传递数据库句柄。


已添加:

我们正在使用 Perl 基础设施来满足我们的业务需求。遍布整个公司的用户帐户和数据库服务器太多。我们希望企业密码得到保护,并且只允许特权成员使用。早些时候我们将所有密码放在一个文本文件中并从中读取。如果我们保留在其他地方,那么他们将能够调试 Perl 模块并找到它们。如果我们在 C 中创建一个句柄并提供相同的密码而不是返回密码,那将会更有帮助。

最佳答案

Perl DBI(数据库接口(interface))没有为将已经打开的数据库句柄传递给驱动程序做好准备 - 该接口(interface)假定(DBI 加上相关的数据库驱动程序或 DBD::XyzDBMS 模块)将建立连接。因此,充其量,您将编写代码来扩展 DBI 以实现这一点,并扩展相关的 DBD 以支持它,这是一项非常重要的练习。

那么,为什么您认为这是一个好主意 - 以这种方式做事而不是让 DBI 也处理连接有什么安全好处?


在应用程序中嵌入密码是错误的方式,从很多角度来看很难知道从哪里开始:

  • 更改密码意味着重新编译和重新发布程序,因此永远不会发生。
  • 每个人都使用相同的用户名和密码连接到数据库或网络服务,因此您不知道谁在进行连接。
  • 可以在对象文件中发现密码 - 如果攻击者真的担心,他们将能够找到它们,这是一个很有可能的赌注。
  • 等等。

“通过模糊实现安全”根本不安全!

但这就是您打算使用的。

请从那些知道的人那里获得一些关于如何编写安全软件的建议。或者阅读有关该主题的许多优秀书籍中的一些。

关于c - 如何在 C 中打开数据库句柄并使用 SWIG 将其传递给 Perl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920105/

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