小编inn*_*naM的帖子

使用Plack/PSGI/Poet应用程序进行身份验证和/或HTTPS

我需要构建一个简单的Web应用程序.我决定用Poet(Mason2)来做,它使用Plack.

应该允许应用程序仅由经过身份验证的用户使用,因此我需要构建一些登录/密码功能.

已经有一个Plack模块Plack :: Middleware :: Auth :: Basic允许使用Basic用户auth,可以设置检查.htpasswd或类似.但基本身份验证不是很安全; 任何人都可以通过数据包捕获等方式获取登录密码.

以下是两种可能的解决方案

  • 通过HTTPS运行我的app.psgi(443) - 链接级加密
  • 或者是否有一些更好的auth方法允许在没有https的情况下进行安全身份验证?

问题:

  • 关于HTTPS - 我不知道如何运行我的app.psgiHTTPS.我需要稍微修改一下我的应用程序吗?什么链接显示我如何运行plackuphttps?
  • 或者第二种:是否有一些方法(中间件/或perl模块)允许我在标准的未加密端口上构建 安全认证?(80)

那么,使用Plack应用程序实现安全身份验证的相对简单方法是什么?

PS:我不关心其余的沟通.我只需要不允许获取密码的安全身份验证.

PPS:https很容易使用apache(和自签名)证书.但我不知道如何使用它plackup(以及任何其他基于Plack的服务器)

perl plack psgi poet

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

8
推荐指数
2
解决办法
1789
查看次数

获取vim以在一行中显示逗号数

我有很多逗号.我想知道一行中逗号的数量.我怎么能用vim做到这一点?

另外,我想为逗号以外的字符执行此操作.

指定行号和字符应该给出该字符的出现次数.

例如 :

:charmap/50/,
Run Code Online (Sandbox Code Playgroud)

应该给我第50行的逗号数量.

vim

8
推荐指数
2
解决办法
1580
查看次数

设置病原体后'source~/.vimrc'后出错

我在获取.vimrc文件时遇到此错误,

> source ~/.vimrc                                                                    
bash: /home/dev/.vimrc: line 1: syntax error near unexpected token `('
bash: /home/dev/.vimrc: line 1: `call pathogen#infect()'
Run Code Online (Sandbox Code Playgroud)

我的.vimrc文件的内容是,

call pathogen#infect()
syntax on
filetype plugin indent on

set smartindent
set tabstop=4
set shiftwidth=4
set expandtab

set backupdir=~/.vimbackup
set directory=~/.vimdir
Run Code Online (Sandbox Code Playgroud)

我也尝试使用'execute pathogen#infect()',因为它不喜欢'call'关键字..我已经尝试将路径传递给我的bundle文件,如下所示,

call pathogen#infect('~/.vim/bundle/{}')
Run Code Online (Sandbox Code Playgroud)

我也试过把'bundle/{}'作为感染的论据...但是我不太了解vim/bash足以知道要进去的方向,会感激任何帮助......

我试图获取.vimrc文件的原因是因为每次我使用vim编辑文件时,我都会以文件的形式从文件中获取具有此格式的文件,

.file_i_just_worked_on.un~
Run Code Online (Sandbox Code Playgroud)

这让我的主意变得非常烦人.我读过我需要的东西

set backupdir=~/.vimbackup
set directory=~/.vimdir
Run Code Online (Sandbox Code Playgroud)

没有任何地方被vim删除的文件...将不胜感激这个问题的任何帮助.

vim

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

找出git分支创建时最简单/最快捷的方法是什么?

我试图找出我的某个存储库中的某个功能分支何时创建,并且我发现这非常困难.我最终使用的组合git show-branchgit log.

有没有更简单的方法从命令行快速有效地找到这条小信息?

git branch

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

为start_server和starman编写init.d脚本的最佳方法?

我正在尝试使用start_serverstarman来创建一个很好的init.d脚本来启动一个psgi应用程序.它需要具备以下功能:

  • 在RedHat上运行(即Debian start-stop-daemon不可用)
  • start_server以其他用户身份运行
  • 可维护.

理想情况下,我想使用附带的东西/etc/init.d/functions为脚本提供任何ol'RedHat init.d脚本的外观和感觉.

更具体地说,我正在寻找最佳实践:

  • 守护程序没有自己的--daemonize选项
  • 在另一个UID下运行守护程序.

shell perl redhat init

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

从命令行运行Perl脚本?

我在我的服务器上加载了perl express 2.5.我希望能够使用命令行运行我的perl脚本,以便可以调度它们,而不是手动调出Perl Express中的脚本并单击run命令.有没有办法使用此版本的Perl从命令行执行脚本,或者我是否需要下载更新或更强大的Perl引擎版本.

perl perl-express

7
推荐指数
2
解决办法
6万
查看次数

在Perl的Devel :: DProf中,什么是"外部的未堆叠呼叫"?

我正在分析一个Perl应用程序perl -d:DProf.在dprofpp生成的tmon.out文件上运行时,我收到如下警告:

Compress::Zlib::__ANON__ has 5 unstacked calls in outer
Compress::Zlib::AUTOLOAD has -5 unstacked calls in outer
Run Code Online (Sandbox Code Playgroud)
  • 什么是未被堆叠的电话?
  • 谁或什么是"外"?
  • 这些数字是什么意思?怎么会有负数的电话?
  • 我应该担心吗?

perl profiler profiling

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

为什么我的教授使用两个getchar();?

为什么我的教授使用两个getchar(); 在我们的C程序教程结束时?

对此有什么"更好的方法"?

c

6
推荐指数
5
解决办法
7799
查看次数

MYSQL INSERT SELECT问题

我有点难以理解如何进行一些INSERT SELECT.

例如,我有两张桌子.

TABLE : users  

 id | name   | gender  
 1  | John   | m  
 2  | Mary   | f  

TABLE : website  

 fid | url             | id  
 1   | www.desilva.biz | 2  
 2   | gidhelp.com     | 4  
Run Code Online (Sandbox Code Playgroud)

现在让我们说我想在表网站上添加另一个查询.我得到两个变量,让我们说:

$user = John;
$site = "www.google.com";
Run Code Online (Sandbox Code Playgroud)

我想从users表中选择John的id,并在一个语句中将其插入到网站表中.

我该怎么做?

mysql select insert

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

标签 统计

perl ×4

vim ×3

branch ×1

c ×1

count ×1

git ×1

init ×1

insert ×1

match ×1

mysql ×1

perl-express ×1

plack ×1

poet ×1

profiler ×1

profiling ×1

psgi ×1

redhat ×1

select ×1

shell ×1