Perl - 需要将Username + Pwd放入另一个安全文件中

时间:2017-03-07 21:43:05

标签: oracle perl dbi

我有一个php文件,当插入发生在数据库表中时会触发此脚本。我需要将用户名和密码放入另一个文件中并使其安全。它用于Web应用程序,并且在整个应用程序中为所有用户提供相同的凭据。我没有把这些凭证放到另一个文件中。

我假设我应该使用$ orausername1"," $ orapassword1替换它们并将其放入另一个文件中 - 有人可以帮助使用此代码......

使用Oracle DB。

#!/usr/bin/perl -w

use strict;
use MIME::Lite;


use DBI;

my $db = DBI->connect( "dbi:Oracle:DBNAME", "USER1", "TESTING2")
   or die "Couldn't connect to database: " . DBI->errstr;


my $to = 'john@abc.com';
my $from = 'ron@abc.com';
my $subject = 'New Movie Added';

etc...

1 个答案:

答案 0 :(得分:3)

  

我有一个php文件,当插入发生在数据库表中时会触发此脚本。

我的第一个建议是不要再调用另一个脚本。做任何Perl脚本在PHP中做的事情。这将更快,没有必要启动另一个进程并重新连接到Oracle,并且不需要共享凭据。

  

我需要将用户名和密码放入另一个文件中并使其安全。它用于Web应用程序,并且在整个应用程序中为所有用户提供相同的凭据。

  1. 将所有应用程序配置文件放入一个配置文件中,可能采用JSON或其他一些易于解析,与语言无关的格式。
  2. Web服务器将其设置为可读但不可写。
  3. 例如,您可能会/etc/yourapp.conf说:

    {
        "database": {
            "type": "Oracle",
            "host": "the.db.hostname",
            "port": 12345,
            "user": "dbusername",
            "pass": "dbpassword",
            "name": "dbname"
        }
    }
    

    然后构成应用程序的所有内容都会读取该文件以获取配置信息,并且所有内容都可以一致地执行。在Perl中使用JSON::MaybeXS来解析JSON。

    如果您使配置文件的位置可以被YOURAPPNAME_CONFIG_FILE等环境变量覆盖,那么您可以使用各种不同的配置进行测试和开发。