PHP 板


LINE

看板 PHP  RSS
菜鸟码农的我最近开发一个案子,为了防止重复送出有用到csrf 在codeigniter中,可以在application/views/errors/html/error_general.php 中自订show_error()後的页面,我想问的是,我如果override csrf_error()或是show_error()後,有办法让他跳到某个controller中 或是如同一般controller使用吗? 因为我如果要override csrf_error()的话,继承的不是CI_Controller ,就算用&get_interface()也无法调用controller的任何方法... 没有办法很好的说明真是不好意思:(,总之架构上来说就是在core里有 A->继承CI_Controller,存放了我在所有Controller要用到的所有方法 之後每一张Controller都是继承了A,然後因为我的每个页面的表头表尾 都是一样的,所以用了三个view组成一个画面,现在我希望将错误讯息只 显示在中间的view,但如果去改ci预设的那张php的话,虽然画面上可以 达成,但因为我的页面表头有分成不同使用者有不同选单,没靠controller 里的方法无法判定,所以想问看看有没有什麽方法可以办到让show_error() 或csrf_error()可以呼叫controller里的东西呢? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.27.106.212
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1479865179.A.464.html
1F:→ MOONRAKER: 为什麽用到三个view会检查三次 一页有三个controller吗 11/23 13:38
2F:→ MOONRAKER: 没听过There cannot be two tigers in one mountain吗 11/23 13:38
并不是一次有三个controller...是在一个controller中使用了多个$this->load->view() 检查三次??我有提到检查三次嘛@@??
3F:→ xdraculax: 把自订错误作成 A 里的 function _show_error 里面就 v 11/23 20:35
4F:→ xdraculax: iew 那页,判断错误的时候 return $this->_show_error( 11/23 20:35
5F:→ xdraculax: 'csrf') 11/23 20:35
6F:→ xdraculax: MY_Security protected $_csrf_error = FALSE; 11/23 21:38
7F:→ xdraculax: csrf_show_error() { $this->_csrf_error = TRUE; 11/23 21:39
8F:→ xdraculax: 加个 function 在 controler 去查 Security csrf_error 11/23 21:41
谢谢回答 不过我还是不太清楚,不过查了查,好像似乎没办法像我说那样作,因为在载 入CI_Security之前,helper或是libraries都还没被载入,所以只能够用原始 的PHP代码去建立东西:( 参考:http://stackoverflow.com/questions/14406922/prevent-from-displaying-the-default-csrf-error-page-in-codeigniter ※ 编辑: k80092 (61.27.106.212), 11/23/2016 22:19:57 ※ 编辑: k80092 (61.27.106.212), 11/23/2016 22:30:07 ※ 编辑: k80092 (61.27.106.212), 11/23/2016 22:30:50
9F:→ xdraculax: CI_Security 可以被 MY_Security 改写 11/24 09:38
我有改写了,只是因为没办法使用controller中的写法,也没办法呼叫helper所以 没办法做出我要的东西,谢谢你的回答,我再研究看看:),有研究出来再来回文~
10F:→ MOONRAKER: 阿只有一个controller为什麽还会「希望错误讯息只显示 11/24 13:07
11F:→ MOONRAKER: 在中间的view」描述模模糊糊还怪别人喔 11/24 13:08
我有提到说我一个画面是用多个view组成,我想您应该会知道一个controller可 以载入多个view吧?我也没有怪别人,我一开始就有说我也说不太清楚。总之谢 谢您的回答,耍嘴皮子既没办法改善问题,也不会让世界更好。我就此打住。 ※ 编辑: k80092 (61.27.106.212), 11/24/2016 19:02:14
12F:→ xdraculax: 不需要在 Security 就把想要的页面在里面产生,只要把 11/24 19:26
13F:→ xdraculax: 结果记下,让 controller 能去读取後再跑 view 就可以 11/24 19:26
14F:→ xdraculax: 了,其实我上面的留言已把重点都留了 11/24 19:26
15F:→ k80092: 他跑完csrf_show_error()就停在错误讯息的页面,没有进任 11/24 19:55
16F:→ k80092: 何一个controller中的说...@_@ 11/24 19:56
17F:→ k80092: x大的意思是先把错误讯息保存起来後再进controller把他读 11/24 19:57
18F:→ k80092: 出来没错吧? 11/24 19:57
19F:推 et69523820: 把错误讯息保存 在输出到样版变数即可 就可以显示你 11/25 07:24
20F:→ et69523820: 指定的错误讯息显示区域 11/25 07:25
21F:→ xdraculax: 如果你改过他还是被 csrf_show_error 带去预设错误页 11/25 11:22
22F:→ xdraculax: 表示你的 MY_Security 可能没有改成功 11/25 11:26
23F:→ xdraculax: danny22.idv.tw/download/ci_csrf_test.zip 11/25 11:51
24F:→ k80092: 搞定了,谢谢x大,原来我一直以为进了csrf_show_error()後 11/28 12:07
25F:→ k80092: 就不会回到controller,结果自己写了个exit耍笨了,抱歉:( 11/28 12:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP