小编sza*_*gab的帖子

什么是(大多数?)安全的方式来处理Web应用程序中的数据库连接?

我有一个使用PostgreSQL用Perl编写的Web应用程序.

访问PostgreSQL数据库时,我需要提供用户名和密码.为了使密码可用于系统的无人值守启动,我需要将密码嵌入我的应用程序或配置文件中,或者作为Apache中配置的环境变量.

无论哪种情况,我都必须在某处以明文格式提供密码.

它是如何在真实的网站上完成的?

security postgresql

3
推荐指数
1
解决办法
288
查看次数

如何在osx上安装perl评论家?

我尝试下载,解压缩,按照说明操作:

  tar -zxf Perl-Critic-1.107_001.tar.gz
    cd Perl-Critic-1.107_001
    perl Makefile.PL
    make
    make test
    make install
Run Code Online (Sandbox Code Playgroud)

当我进入制作步骤时,我得到:

/usr/bin/perl "-Iblib/arch" "-Iblib/lib" t/Variables/RequireLocalizedPunctuationVars.run.PL t/Variables/RequireLocalizedPunctuationVars.run
Can't locate B/Keywords.pm in @INC (@INC contains: blib/arch blib/lib /Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 /Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 /Library/Perl/Updates/5.12.3 /System/Library/Perl/5.12/darwin-thread-multi-2level /System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level /System/Library/Perl/Extras/5.12 .) at t/Variables/RequireLocalizedPunctuationVars.run.PL line 16.
BEGIN failed--compilation aborted at t/Variables/RequireLocalizedPunctuationVars.run.PL line 16.
make: *** [t/Variables/RequireLocalizedPunctuationVars.run] Error 2
Run Code Online (Sandbox Code Playgroud)

我怀疑它是因为我错过了依赖.我也发现了这个任务 - https://metacpan.org/pod/Task::Perl::Critic这看起来很有趣,但它没有关于如何运行的指示.

---编辑运行后 - sudo cpan Task :: Perl :: Critic

我得到这些结果:

Test Summary Report
-------------------
t/20_policies.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero …
Run Code Online (Sandbox Code Playgroud)

perl perl-critic

3
推荐指数
1
解决办法
2700
查看次数

如何计算perl的方差?

我想计算perl中每行数字的方差.我写过这个子程序:

################################################################
# variance
#
#
# A subroutine to compute the variance of an array
# division by n-1 i s used
#
sub var{
    my ($data) = @_;
    if (@$data ==1) {
        return 0;
    }
    my $mean = mean ($data);
    my $sqtotal = 0;
    foreach (@$data) {
        $sqtotal += ($_ - $mean) ** 2
    }
    my $var = $sqtotal / (scalar @$data - 1);
    return $var;
}
Run Code Online (Sandbox Code Playgroud)

如果我给它这个数组有58个相同数字的元素

[0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98 ,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98 ,0.98,0.98,0.98,0.98,0.98,0.98,0.98,0.98]

计算给了我1.25421964097639e-30.

我还尝试使用Statistics :: Descriptive模块(http://metacpan.org/pod/Statistics::Descriptive),它给了我2.11916254524942e-15.

我也试过这个网站( …

statistics perl variance

3
推荐指数
1
解决办法
1919
查看次数

从perl哈希结构中获取数据?

我正在尝试修改现有的perl脚本以支持地理编码.找到了这个模块:http://metacpan.org/pod/Geo :: Coder :: Google

我只是无法弄清楚如何从它返回的哈希结构中提取数据(我不是一个perl编码器,这只是我必须解决的一些遗留脚本).

       {
        'AddressDetails' => {
          'Country' => {
            'AdministrativeArea' => {
              'SubAdministrativeArea' => {
                'SubAdministrativeAreaName' => 'San Francisco',
                'Locality' => {
                  'PostalCode' => {
                    'PostalCodeNumber' => '94107'
                  },
                  'LocalityName' => 'San Francisco',
                  'Thoroughfare' => {
                    'ThoroughfareName' => '548 4th St'
                  }
                }
              },
              'AdministrativeAreaName' => 'CA'
            },
            'CountryNameCode' => 'US'
          }
        },
        'address' => '548 4th St, San Francisco, CA 94107, USA',
        'Point' => {
          'coordinates' => [
            '-122.397323',
            '37.778993',
            0
          ] …
Run Code Online (Sandbox Code Playgroud)

perl hash perl-data-structures

2
推荐指数
1
解决办法
524
查看次数

在linux中创建一个新信号

有没有办法在linux中创建自定义信号.就像让我们说"回声疯狂"在文件中执行一样?无论何时执行该信号,我都会使用该信号停止该过程......此外,我还想使用带有新信号的perl Enbugger.有没有办法做到这一点?我从http://metacpan.org/pod/Enbugger找到了这个

 use Enbugger::OnError qw( USR1 USR2 INT HUP );
Run Code Online (Sandbox Code Playgroud)

其中USR1和USR2是用户定义的信号.

linux debugging perl signals process

2
推荐指数
1
解决办法
1145
查看次数

Docker compose:运行多个仅命令不同的容器

我有一个docker-compose.override.yml启动 10 个不同服务的文件,这些服务仅在容器名称和它们运行的​​命令上有所不同。他们还需要各种环境变量、多个卷等。

该文件看起来像这样,但它有 10 个部分,每个部分实际上有更多的配置。

我不喜欢所有的重复。

有没有办法将所有公共配置部分移到其他地方并让所有服务都使用这些信息?

也许还有其他解决方案?

version: "3"
services:
  service-1:
    image: my-image
    tty: true
    environment:
      - APP_ENVIRONMENT=dev
    working_dir: /source
    volumes:
      - .:/source:ro
    command: run_services_1

  service-2:
    image: my-image
    tty: true
    environment:
      - APP_ENVIRONMENT=dev
    working_dir: /source
    volumes:
      - .:/source:ro
    command: run_services_2
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

2
推荐指数
1
解决办法
1814
查看次数

Test :: File :: Find :: Rule检查我们所有的perl脚本是否都使用严格

use warnings;
use Test::More;
use File::Find::Rule;
use Test::File::Find::Rule;

my $rule = File::Find::Rule->file->name('*.pl')->not_grep(qr/^\s*use\s+strict;/m, sub { 1 });
match_rule_no_result($rule, ".", 'use strict usage');
done_testing();
Run Code Online (Sandbox Code Playgroud)

输出是:

out put :
ok 1 - use strict usage
1..1
Run Code Online (Sandbox Code Playgroud)

它总是通过测试,即使我的脚本不使用strict,就像这个位于"."内的脚本一样.目录.在http://metacpan.org/pod/Test::File::Find::Rule中可以使用相同的代码作为示例

任何线索?

F.

testing perl cpan

1
推荐指数
1
解决办法
379
查看次数

将单行XML解析为HashMap

我正在构建一个与Web服务器通信的Android应用程序,并且正在努力应对以下场景:

给定String中的一行XML,例如:

"<test one="1" two="2" />"
Run Code Online (Sandbox Code Playgroud)

我想将值提取到HashMap中,以便:

map.get("one") = "1"
map.get("two") = "2"
Run Code Online (Sandbox Code Playgroud)

我已经可以使用SAX Parser完成一个完整的XML文档了,当我尝试用MalformedUrlException给它上面的字符串时会抱怨:找不到协议

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
Document doc = null;
builder = factory.newDocumentBuilder();
doc = builder.parse("<test one="1" two="2" />"); //here
Run Code Online (Sandbox Code Playgroud)

我意识到一些正则表达式可以做到这一点,但我真的很喜欢这样做.

可以在http://metacpan.org/pod/XML::Simple#XMLin中找到相同的行为,这是Web服务器使用的内容.

有人可以帮忙吗?感谢:D

java xml android

1
推荐指数
1
解决办法
971
查看次数

从java调用Perl,主要用于正则表达式匹配

我想从Java有效地执行Perl代码.Perl的目的主要是执行正则表达式匹配(在某些测试中,Perl比Java更有效)

到目前为止,我已经发现了使用它的可能性:http://metacpan.org/pod/Inline :: Java :: PerlInterpreter

另一种选择是在java中使用Runtime.exec()来调用Perl.

什么是最高效的解决方案?一个人比另一个人有优势吗?我真的不能看到任何,除了PerlInterpreter仍处于试验阶段,我不知道这是否将改变.你知道从Java调用Perl的其他选项吗?

java regex perl

1
推荐指数
2
解决办法
233
查看次数

在Python中将2012-12-19字符串转换为datetime对象

我有以下工作代码:

import datetime

d = "2012-12-19"                
f = map(int,  d.split('-') )
day = datetime.date( f[0], f[1], f[2] )

print day
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这样写时:

day = datetime.date( f )
Run Code Online (Sandbox Code Playgroud)

我得到一个异常:TypeError:需要一个整数

为什么这样,我怎么能写得更好?

python

1
推荐指数
1
解决办法
70
查看次数

如何在PHP中识别用户?

我有这么大的问题,我已经考虑了2天了.我写了一个关于捕获未注册(访客)用户的小类,他们可以通过URL尝试SQL注入攻击,经过2次实验,他们的IP在我的数据库中被阻止(所以在数组中我存储了一些标志),

$blockSigns = array ("'", "/", "\", ":", "//", "and so on");
Run Code Online (Sandbox Code Playgroud)

但:

  1. IP不是很好的解决方案(如果服务器在代理服务器下,PHP无法看到LAN IP_s),甚至它也无法阻止它.我无法阻止192.168.1.10 :)
  2. 我不需要WAN IP,因为一个n00b,我不能阻止公司的网站.
  3. PHP无法捕获Mac地址(mac不包含在标头中)
  4. 我想阻止作为访客的用户,所以我不知道他们的用户名或邮件或其他东西

if(isset($ _ SESSION ["user"])){$ user = $ _SESSION ["user"]; } else {$ user ="unknown"; }

  1. 我读到perl有一些名为NET :: MAC的API,

    http://metacpan.org/pod/Net::MAC

我决定通过perl查找用户mac地址并将其集成到PHP中.可能吗?如果是,请怎么样?我不明白.如果不:

我该如何解决这个问题?如果他/她没有注册,我如何识别用户?有机会吗?如果您已经遇到过这类问题,请分享您的经验.提前致谢...

php ip mac-address

0
推荐指数
1
解决办法
684
查看次数

使用Perl中的WWW :: Mechanize取消下载

我编写了一个Perl脚本,它将检查URL列表并通过发送GET请求连接到它们.

现在,让我们说其中一个URL有一个非常大的文件,例如,大小> 100 MB.

发送请求时使用以下命令下载此文件:

$mech=WWW::Mechanize->new();
$url="http://somewebsitename.com/very_big_file.txt"
$mech->get($url)
Run Code Online (Sandbox Code Playgroud)

发送GET请求后,它将开始下载文件.我希望使用WWW :: Mechanize取消它.我怎样才能做到这一点?

我在这里检查了这个Perl模块的文档:

http://metacpan.org/pod/WWW::Mechanize

但是,我找不到可以帮助我做到这一点的方法.

谢谢.

perl www-mechanize

0
推荐指数
1
解决办法
164
查看次数