2013-08-18 207 views
1

我使用shell_exec來獲取域的whois詳細信息。一切工作正常本地主機,但是當我上傳腳本在服務器上,這是創建問題。在服務器上,shell_exec部分工作。shell_exec不能在服務器上工作

echo "shell_exec('whoami')";

給我的輸出。

mac 

,但是當我使用

echo "shell_exec('whois example.com')";

我得到一個空白頁

我應該考慮使用root權限託管帳戶?如果是,那麼如何處理安全問題?

P.S-我不知道這樣的事情是否存在,但我已經在localhost上測試過,它在MAMP上運行良好。

在此先感謝。

+0

最有可能是安全問題。你不能得到任何日誌?但更好的是,你不能在php中使用一些高級函數而不是shell-exec來執行whois !? –

+0

從PHP您不需要轉義到shell來執行whois查詢。您的編程語言中有庫,或者如果您想要轉到其底部,只需打開相應服務器的端口43的TCP套接字,然後發送您的查詢,然後發送CR + LF,然後回讀一個文本塊。 –

回答

2

如果您決定以root權限託管此腳本,那麼您應該(並且我很抱歉)被鎖定在填充的單元格中。那只是瘋狂!您不需要root權限即可運行簡單的whois命令。這太瘋狂了!
作爲根的託管大約與託兒所一樣安全,由天主教牧師,連環殺手和裂紋成癮者運行,他們在三天內還沒有得到解決。事情將會發生......你只能推測它會如何結束。

檢查使用whoami什麼用戶運行該腳本,然後檢查它的PATH的樣子,比較,爲地方whois實際上,如果在所有存在。如果未安裝,請讓管理員進行設置,並授予您使用它的權利。如果已安裝,請嘗試shel_exec('/path/to/bin/whois example.com');
閱讀用戶權限和環境變量(以及如何從PHP腳本加載/操作它們)

+0

對連環殺手的破解有點強大不是嗎? :) –

+0

@TonyHopkinson:如果有人甚至提示一個不好的主意,我認爲最好是殺死它,燒掉它,並在別人看到它之前把它埋掉,並且認爲_「呃,實際上......」。 PHP不享有最好的聲譽,部分原因是人們用它做事,沒有任何理智的人會做。是的,我當時正在扮演一個小女王劇,我承認,但是我想/我希望我能以英國幽默伴侶的身份登錄 –

+1

。 Cathil Priests和... –

相關問題