我正在開發一個PHP應用程序,它必須響應來自多個客戶端的請求,並且我認爲「任何客戶端都可以看到我正在編寫的PHP代碼?」。客戶端可以查看服務器端PHP源代碼嗎?
回答
沒有,除非
- 有一個服務器配置錯誤
- 有一個不好的回聲/某處
不可以,除非您在實際使用它的地方迴應它們。
包括如果您在網絡服務器設置爲服務,而不是解析你的PHP是。但那時客戶不會工作。因此,除了任何安全漏洞,答案是否定的。
不,但你應該採取一切措施來防止它。
你應該在你的服務器工作目錄(比如/ www)下面的目錄中設置你的敏感代碼(heck,爲什麼不是全部?),這樣如果服務器搞砸了,它將不能顯示你的代碼到世界上,因爲那個代碼將被包含在PHP中,而不是首先工作。
使用包括從www服務目錄下面或外面。 (can not +1 yet for Frankie)
不要爲你的http目錄使用符號鏈接。我有意使用它來根據用戶請求路徑顯示源代碼和執行,但需要httpd.conf更改(或錯誤配置),並且可以在httpd.conf中顯式禁用。
如果允許使用fopen下載文件,請不要傳遞用戶創建的任何內容,或者他們可以弄清楚如何讓它抓住任何可以找到的文件。 考慮:
fopen('reports/' . $_GET['blah']);
,其中用戶通過在「../index.php」
號假設您已經安裝了一個L/UAMP服務器正確,或者不打印出來(回聲, print_r等)以及代碼的內容,PHP將被處理,並且其輸出的邏輯或HTML將在頁面上使用,不可見。
N.B.如果目錄或適當的.htacess文件中沒有'索引',Apache服務器將顯示目錄中的文件列表,可以下載和查看這些文件。
是的,但即使你下載它們,你將看到的唯一東西就是生成的HTML。你不會看到PHP代碼。 – galdikas 2013-09-06 10:40:14
它發生的一個錯誤就是粘貼一個PHP字符串內使用PHP的標籤,例如:
$string = "This is the answer: <s><?php echo $answer; ?></s>";
echo $string;
的人做了一個按Ctrl + C和Ctrl +的一些信息v應沿串打印,但編碼員忘了通過分心去除php標籤。
- 1. 可以讓客戶端看到服務器端的源代碼嗎? asp.net
- 2. 客戶端可以查看服務器端python應用程序的源代碼嗎
- 3. 客戶端可以訪問Node.js服務器中的代碼嗎?
- 4. 客戶端只讀服務器端源代碼
- 5. 能從Asp:RadioButtonList調用客戶端和服務器端代碼嗎?
- 6. 客戶端JavaScript服務器 - 可能嗎?
- 7. Java客戶端服務器代碼
- 8. Qt服務器客戶端代碼
- 9. Java客戶端/服務器 - 我們可以使服務器作爲客戶端到另一臺服務器嗎?
- 10. 我可以通過服務器實現客戶端 - 客戶端通信嗎?
- 11. 如何禁用瀏覽器從客戶端用戶端查看ASP源代碼?
- 12. 從客戶端ASP .NET Extender服務器端編寫客戶端代碼ExtenderControlBase
- 13. 加密瀏覽器客戶端和服務器端代碼
- 14. Android聊天服務器客戶端源代碼或方式
- 15. Java:服務器/客戶端 - >客戶端/客戶端
- 16. 客戶端可以在html文件中找到php代碼嗎?
- 17. 客戶端服務器GUI資源
- 18. 如何從服務器端C#代碼觸發客戶端JavaScript?
- 19. 客戶端和服務器端之間的共享代碼
- 20. 從客戶端程序訪問服務器端代碼
- 21. 僅在客戶端確認後執行服務器端代碼
- 22. 測試服務器端/客戶端咖啡代碼
- 23. 代碼處理(客戶端而不是服務器端)
- 24. 如何從服務器端代碼獲取客戶端timeZoneOffset
- 25. 如何從客戶端隱藏服務器端代碼?
- 26. 如何同步服務器端和客戶端代碼?
- 27. Web服務調用客戶端代碼
- 28. Android服務客戶端代碼
- 29. 在10g服務器上使用oracle 11g客戶端可以嗎?
- 30. 本機iOS客戶端可以連接到meteor.js服務器嗎?
你可以舉一個不好的包含或回聲的例子嗎? – Mj1992 2012-11-28 13:51:28