我正在试图找出如何重定向到新页面(不同的应用程序,控制器,操作)并维护当前的POST数据.
我的应用程序正在验证POST数据,如果满足某个条件,我想重定向到其他位置,但要确保POST数据作为POST数据传递到该新页面.这是一个粗略的例子:
POST /app1/example HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 17
var1=foo&var2=bar
Run Code Online (Sandbox Code Playgroud)
在我的exampleAction(Zend_Controller_Action)中,我检查是否var1 == foo,如果它,我想用相同的POST数据重定向(302)到/ app2/example.有点像这样吗?
HTTP/1.x 302 Found
Location: /app2/example
Content-Type: application/x-www-form-urlencoded
Content-Length: 17
var1=foo&var2=bar
Run Code Online (Sandbox Code Playgroud)
我可以看到如何使用Zend_Http_Client创建新的HTTP请求,但我不打算简单地请求页面并显示内容.我还应该继续使用Zend_Http_Client吗?目前我正在玩这样的东西:
$this->getResponse()->setRedirect('/app2/example/', 302);
$this->getResponse()->setBody(http_build_query($this->_request->getPost()));
Run Code Online (Sandbox Code Playgroud)
我敢肯定我想做的事情是通过一些诡计和恶魔妄想来实现的,但这绝对暗指我.任何帮助表示赞赏.
- rk
我承认我不擅长核心验证.我所拥有的是一个从POP3服务器下载消息的脚本,我正在尝试验证PHP中的DKIM签名.我已经想出了身体哈希(bh)验证检查,但我无法弄清楚头部验证.
http://www.dkim.org/specs/rfc4871-dkimbase.html#rfc.section.6.1.3
下面是我的邮件标题的示例.我已经能够使用Mail :: DKIM包验证Perl中的签名,所以我知道它很好.我似乎无法弄清楚RFC中的指令并将它们转换为PHP代码.
DomainKey-Signature: q=dns; a=rsa-sha1; c=nofws;
s=angrychimp-1.bh; d=angrychimp.net;
h=From:X-Outgoing;
b=RVkenibHQ7GwO5Y3tun2CNn5wSnooBSXPHA1Kmxsw6miJDnVp4XKmA9cUELwftf9
nGiRCd3rLc6eswAcVyNhQ6mRSsF55OkGJgDNHiwte/pP5Z47Lo/fd6m7rfCnYxq3
DKIM-Signature: v=1; a=rsa-sha1; d=angrychimp.net; s=angrychimp-1.bh; c=relaxed/simple;
q=dns/txt; i=@angrychimp.net; t=1268436255;
h=From:Subject:X-Outgoing:Date;
bh=gqhC2GEWbg1t7T3IfGMUKzt1NCc=;
b=ZmeavryIfp5jNDIwbpifsy1UcavMnMwRL6Fy6axocQFDOBd2KjnjXpCkHxs6yBZn
Wu+UCFeAP+1xwN80JW+4yOdAiK5+6IS8fiVa7TxdkFDKa0AhmJ1DTHXIlPjGE4n5;
To: iptest@example.com
Message-ID: <EF.CC.24859.F1DCA9B4>
From: DKIM Tester <noreply@angrychimp.net>
Reply-To: noreply@angrychimp.net
Subject: Automated DKIM Testing (angrychimp.net)
X-Outgoing: dhaka
Date: Fri, 12 Mar 2010 15:24:15 -0800
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
MIME-Version: 1.0
Return-Path: noreply@angrychimp.net
X-OriginalArrivalTime: 12 Mar 2010 23:25:50.0326 (UTC) FILETIME=[5A0ED160:01CAC23B]
Run Code Online (Sandbox Code Playgroud)
我可以从我的DNS中提取公钥就好了,我相信我正确地规范了标题,但我无法验证签名.我不认为我正在准备我的密钥或正确计算签名验证.
这是可能的(我需要梨扩展或什么吗?)或手动验证PHP中的DKIM签名是不可行的?