星期六, 8月 17, 2013

Phalcon Webtools只能在local machine使用

因安全問題只能在localhost上用 webtools...
用其他ip連webtools就會出現以下訊息
Phalcon\Exception: WebTools can only be used on the local machine

習慣裝在linux上開發...
因此都用vm模擬,再用pietty連進去開發
所以一定不會是localhost~ 杯具...

解決方法
  • 改config
    開啟[project]/public/webtools.config.php
    define('PTOOLSPATH', '/home/phalcon/phalcon-devtools');
    /* you can set ADMINIP as IP 192.168.0.1 or SUBNET 192. or 10.0.2. or 86.84.124. */
    define('ADMINIP', '192.168.');  //改成自己的ip就可以了
    

  • 終極解決方法
    看了一下Webtool的code~ 就偷偷改一下,跳開檢查
    記得上production要改回去捏...
    不然開了個大後門....

    file: phalcon-devtools/scripts/Phalcon/Web/Tools/controllers/ControllerBase.php
    截錄檢查程式碼
    就在直接else的那段加上return false囉~ = =+

2 則留言:

Jarvis Chen 提到...

這部份我之前也有遇到,我本來想請作者用在APACHE設定加個環境變數就好了
SetEnv APPLICATION_ENV "development"

然後在Developer Tool設定增加加個判斷就好了
$_SERVER['APPLICATION_ENV']=='development'

fishjerky 提到...

好方法~ 快留言建議~