2010-09-14 72 views
1

我在我的webapp中有一個場景,我想在客戶端執行一些shell命令,所以他們的任何方式我都可以使用javascript來實現。他們是一個方法在PHP「執行」,但我認爲這將執行命令在服務器端。使用javascript在Linux上執行shell命令

由於事先 維奈

+1

我不認爲這是可能的。如果這是一個重大的安全風險。 – Mischa 2010-09-14 10:54:27

+1

如果您爲瀏覽器編寫插件並讓其他人安裝它,則可能會有這種情況。在任何情況下,您都無法做到這一點,因爲它會被視爲致命的安全漏洞而不是功能。 – BGerrissen 2010-09-14 10:58:21

+0

嗯,堅持下去,你的意思是:'我想在客戶端編寫一個命令並在服務器上運行它'? – BGerrissen 2010-09-14 11:07:23

回答

1

不,JavaScript不能在客戶端執行命令。你可能可以使用一個ActiveX控件或Firefox的自定義擴展......但它的複雜:)

+0

是他們的任何方式,我可以在客戶端運行命令,而不是使用activeX對象。 – Vinay 2010-09-14 10:57:54

+0

好吧,網頁瀏覽器的一個「功能」是保護用戶免遭惡意網頁的「強姦」:)所以..沒有。你可以試着利用IE6的bug :) – Quamis 2010-09-14 11:34:22

3

不,JavaScript不能訪問客戶端機器,當然也不能執行shell命令。雖然這可能會對您的真正需求不幸,但由於明顯的安全原因,這是一個重要限制。

-1

JavaScript不能這樣做,但可以調用服務器端腳本,例如PHP,使用Ajax請求並將其作爲參數傳遞給它,PHP腳本將檢索該命令並使用exec()函數執行。

P.S.不好的做法...

+0

我也可以通過使用servlet來做到這一點......? – Vinay 2010-09-14 10:59:25

+0

nope,它不能這樣做 – Quamis 2010-09-14 12:01:59

+0

這不會在**客戶端**上執行命令。 – Pointy 2010-09-14 12:16:35