1

我在我的 web 项目中使用了许多 perl 脚本,我通过 jquery ajax 调用来调用它们。每个 perl 脚本都包含 mysql 数据库连接信息(用户名、密码、数据库名称)。

有没有更好的方法,这样我就可以避免每个 perl 文件中的数据库连接信息,并且可以全局存储,没有任何安全问题。

4

2 回答 2

2

更糟糕的选择:

配置文件

package Config;

sub get_config {
  return { 
    # sql credentials
    user => "sqluser", pass => "123", dsn => "mysql..",
  };
}
1; #return true from modules

index.pl 和其他脚本:

#make sure the current folder is in the lib path
#(if you have all in the same folder).
use FindBin; 
use lib $FindBin::Bin;

require Config;
my $cfg = Config->get_config();
print "$cfg->{user} $cfg->{pass} ...\n";

但我猜你明白了,还有 TMTOWTDI。

于 2013-10-04T09:00:22.323 回答
2

config.pl

{ 
  # sql credentials
  user => "sqluser", pass => "123", dsn => "mysql..",
}

index.pl和其他脚本:

my $CFG = do "config.pl";
print "$CFG->{user} $CFG->{pass} ...\n";
于 2013-10-04T08:02:52.133 回答