2016-07-27 107 views
0

讓我們假設一個創建者進行一個Web應用程序,並提供其透明度的原因源代碼。假設所有使用的數據都向公衆開放,客戶如何知道遠程服務器上正在執行的代碼(數據傳輸)與提供的代碼相同。有沒有辦法用執行的腳本比較和驗證提供的腳本?更好的方式是讓客戶端可以查看所有服務器端代碼,但是隻讀模式不會影響安全性?我很感興趣的是像php,ror,nodejs,python等網絡導向語言的合理性客戶端只讀服務器端源代碼

回答

0

我不太明白你爲什麼想這樣做,但如果你這樣做,然後用PHP,你可以強制例如apache將* .php文件解析爲簡單的文本文件。這通常發生在某人在服務器上擁有PHP代碼並且實際上不運行PHP時,使得Apache僅顯示代碼。

這真的取決於你正在嘗試做它的系統上。以文本解析代碼並不困難。您可以在php,ror,nodejs,python等中編寫腳本,將源代碼讀取爲字符串,然後輸出該字符串。 PHP中的例子是編寫一個使用PHP fopen的快速腳本。

事情是,它沒有任何的證據,如果服務器顯示了一些代碼,並說「這是我完全執行什麼。

另一種選擇可能是做一些與校驗,但再次它是服務器聲稱它是正確執行的代碼,並在你的使用情況,在我看來,你不信任的服務器。

建立一個安全的服務器,使用HTTPS,你應該能夠信任服務器傳輸數據。