Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中打开DB句柄并使用SWIG将其传递给Perl?_C_Database_Perl_Swig - Fatal编程技术网

如何在C中打开DB句柄并使用SWIG将其传递给Perl?

如何在C中打开DB句柄并使用SWIG将其传递给Perl?,c,database,perl,swig,C,Database,Perl,Swig,请帮我写一封信 我想在C程序中打开一个数据库连接句柄。这个句柄必须传递给Perl,在这里我将使用Perl DB接口与数据库交互。出于安全目的,我们希望使用此机制。我想使用SWIG接口传递数据库句柄 增加: 我们正在使用Perl基础设施来满足我们的业务需求。分布在整个公司的用户帐户、数据库服务器太多了。我们希望企业密码得到保护,只允许特权成员使用。早些时候,我们将所有密码放在一个文本文件中,并从中读取。如果我们把它放在其他地方,那么他们就能够调试Perl模块并找到它们。如果我们在C中创建一个句柄

请帮我写一封信

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


增加:


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

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

那么,为什么您认为这是一个好主意呢?这样做的安全好处是什么,而不仅仅是让DBI处理连接


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

  • 更改密码意味着重新编译和删除程序,因此它永远不会发生
  • 每个人都使用相同的用户名和密码连接到数据库或web服务,因此您不知道是谁在进行连接
  • 密码将在目标文件中被发现——如果攻击者真的担心,他们很有可能找到密码
  • 等等
“默默无闻的安全”一点也不安全! 但这正是你打算使用的

请从那些知道如何编写安全软件的人那里得到一些建议。或者阅读一些关于这个主题的优秀书籍。

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

那么,为什么您认为这是一个好主意呢?这样做的安全好处是什么,而不仅仅是让DBI处理连接


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

  • 更改密码意味着重新编译和删除程序,因此它永远不会发生
  • 每个人都使用相同的用户名和密码连接到数据库或web服务,因此您不知道是谁在进行连接
  • 密码将在目标文件中被发现——如果攻击者真的担心,他们很有可能找到密码
  • 等等
“默默无闻的安全”一点也不安全! 但这正是你打算使用的


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

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

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

作为SWIG的替代(或温和的包装)检查。从Perl开始使用C要比尝试学习如何使用SWIG快得多。

作为SWIG的替代品(或温和的包装)来查看。从Perl开始使用C要比学习如何使用SWIG快得多。

我没有答案。但我有预感你的方法注定要失败。对不起。你是说Perl DBI接口还是其他什么?为什么你认为用C做它会有帮助?你为什么知道密码是什么?我没有答案。但我有预感你的方法注定要失败。对不起。你是说Perl DBI接口还是其他什么?为什么你认为用C做它会有帮助?为什么您甚至知道密码是什么?虽然这肯定不是一个简单的解决方案,但反过来可能更容易:让DBI创建连接,然后尝试访问C级处理程序。但这听起来像是“坏主意,不要那样做”。虽然这肯定不是一个简单的解决方案,但反过来可能更容易:让DBI创建连接,然后尝试访问C级处理程序。但这只是“坏主意,不要