作者recorriendo (孟新)
看板PHP
标题Re: [请益] 在连结中执行一段PHP
时间Sat May 19 23:27:06 2012
※ 引述《LPH66 (圬琐)》之铭言:
: 看起来应该要先问原 PO 一个问题:
: 为什麽原 PO 你需要以字串方式储存一段 php 程式?
: 我试着隔空抓药几个可能性好了:
: (1) 推文说的有一部份程式是外部输入的:
: 这不用我说 推文都回你了那非常危险
: 执行来路不明的程式是个非常大的安全漏洞
: (2) 程式有一部份可能必须动态处理:
: 那我就不懂了 有什麽情形是函式传参数不能解决非得要存成字串才能解决的问题?
: 我写 php 这麽久了还没遇到这种情形...
: (3) 根本就有一部份程式是动态生成的:
: 这和 (2) 也一样 你还是有办法写成函式然後让它传参数去看要做什麽
: 最简单的方法就是罗列所有可能然後用个大 switch 去选你要执行什麽
: (我不相信你能够写出产生这段程式的程式就不能罗列出所有这种可能)
: 有些东西甚至只需要一个变数就能解决的
: ====
: 如果原 PO 你的问题是"开新视窗"
: 我必须说那是个最不是问题的问题
: 就如你所说的 你大可以把那段程式另存成一个 php 档然後开新视窗到那里去
: 为什麽不呢? 到底是什麽样子的特殊状况让你不能够做这件事呢?
: ====
: 碎碎念完了来提一个(我猜啦)原 PO 应该可以用(或期待我们回)的方法
: 把你所有的程式全部塞在同一个 php 档里
: 用 GET 参数来选择你要做什麽事
: 像是 index.php?action=dosomething 这种样子 判断 $_GET["action"] 来做事
: 这样子不管你想要开几个新视窗都没问题了....
ㄜ..的确开新视窗不是主要的问题
我先为什麽要做这种事
这个资料库不是我们的 是跟我们合作的资料库提供者
里面那些程式码是本来就存在了
所以才要想办法当取出程式码时怎麽执行
我也不可能把所有php都抓出来变成档案
因为那非常大量 而且不时会有新的资料
至於bug的问题
会放在资料库里的 就是已经测试过没有问题
当然我知道这是一个很大的潜在问题
但是那是下一接段才去担心的问题
现在是要先解决怎麽让他执行
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 128.12.32.94
1F:推 LPH66:果然是个奇怪的状况....如果是要先只求能动的话 05/19 23:32
2F:→ LPH66:之前推文提的 eval 就可以了 05/19 23:32
3F:→ LPH66:相信原来那些资料库的使用者也是这麽用的 05/19 23:34
4F:→ hSATAC:就 eval 啊 05/20 17:10
5F:→ hSATAC:另外,这也不是什麽很难得一见的需求 05/20 17:10