- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                
PHPWind9. 0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
最近在设计一款产品,需要POST登录PHPWind,然而众 所周知,PHPWind9(以下简称pw9)自身拥有安全策略,详情各 位可以自己去phpwind官方论坛看。安全策略的存在会导 致即便站长关闭验证码策略依然在登陆时会显示验证码(前 提是该用户重试太多次)。
要POST登录,并且不需要验证码,就得处理这个问题, 然而官方并没有提供解决的方案,只能依赖自己处理。
首先要明白,php wind不像众多简单的php程序一般只 是简单的该页面代码放置于对应文件中,每一次访问都会调 用wekit. php,再由wekit调用插件,应用,服务。分析完 毕后,我们就可以解决问题了。
Login,登录部分,在路径.\s rc\applicat ions\u\cont roller下,从文件名不难认出,Login Controller, php就是 用于登录的部分(这部分其实看着英文名来看就知道)
这时候我们贴出一段代码(后面我给备注了一些内容) publicfunct ionrunO {
$this-gt;se tOutput($th is-gt;_show Verify(), * v erify’)://验证码显示
$this -gt:setOutp ut (’用户登录’,’ title’);//设置
页面标题
$thi s-gt;setOut	put ($this-g t;_filterUr
1 (false),’ u rl’);
$thi s-gt;setOut	put (PwUserH elper::getL
oginMessage (),’loginWa y’);
$this -gt;setOutp ut ($this~gt :getlnput (’ invite’),’ i nvite’);
$this-gt: set Template (’ 1 ogin’);
Wi nd: : import (’ SRV: seo. bo . PwSeoBo’);
$seoBo=Pw SeoBo: : get I nstance ():
$lang=Wind : : getCompon ent (’ il8n’);
$seoBo~g t:setCustom Seo($lang-g t:getMessag
e(’ SE0:u. Io gin. run. tit le’),’’,’’);
Wekit: : s etV (’ seo’,$seoBo);
显而易见,首先我们需要屏蔽掉验证码显示部分。
将
$this-gt: setOutput($ this-gt;_sh owVerify(),
’ verify’)://验证码显示 修改成
//$this-gt; setOutput ($ this-gt ;_sh owVerify (),
’ verify’);//验证码显示
至此,我们完成了验证码显示的隐藏,但是到这一步
你如果登录会发现,居然提示验证码错误,所以我们需要 进一步修改,使得更像没有验证码,是的!我们要不论如 何都返回验证码成功。
验证码属于服务部分(详情看官方文档),文件在.\src\ service\ver ify\srv中,同样按照文件名可以分辨出P wVerifyServ ice. php就是提供验证码服务的主要文件。
这时候我又贴出一段代码(机遇部分备注内容) publicfu nctioncheck Verify ($ver ifyType, $co
de= ) {
retu rntrue;
if ($code==’ ’)returnfalse ://如果验证码为空,返 回验证码错误
$t ypes=$this_gt; getVerif yType (): i f(!array_ke y一exists ($v erifyType, $types))retu
rnfalse;
$verify=$typ es [$verifyT ype];
if (! isset ($veri fy[’ compone nts’ ] [’ path
’ ]))returnf alse;
$obj	=Wekit::loa	d($verify[’
components’ ] [’ path’ ]);
if($obj-g t:checkVeri fy($code)二==true)retur
ntrue;
retur nfalse:
这里我给个简单粗暴的,具体其他方法不多说,想研 究自己深入即可。
p ublicfuncti oncheckVeri fy($verifyT ype, $code=,
’){
return true;//直接返回true,返回验证码正确 /
                
原创力文档
                        

文档评论(0)