2015-11-19 45 views
1

我開發了一個在Apache上運行的本地PHP應用程序。我想分發給客戶,但不希望他們或任何他們可能必須能夠查看源代碼的IT人員。我查看了不同的加密選項,後來發現網上有一個網站,您可以在其中複製加密的代碼並選擇使用的加密軟件,它會解密整個代碼。所以我不想使用任何加密。使用require()函數保持php源代碼安全

這是一個LOCAL應用程序,必須在本地運行,因爲它連接到本地數據庫。是否有可能將所有的PHP源文件放在一個在線服務器上,並創建具有相同名稱的本地php文件,並且只有一行代碼包含來自在線的相應php文件?例如,我把主要的「showClients.php」網上,並使用相同的名字,「showClients.php」,本地的PHP文件,並把在它像代碼只是一條線,

<?php 
include('http://www.example.com/showClients.php'); 
?> 

它是在實用任何意義?

+0

首先 - 沒有人可以在服務器上讀取您的php代碼。他們可以在瀏覽器中閱讀html和javascript。其次,如果您可以獲取包含文件,它將成爲showClients的輸出,而不是您可以使用的源代碼! –

+0

沒有。這是不安全的,這也是一個非常糟糕的主意。如果你包含一個url,你正在做一個http請求,並獲得該腳本的** OUTPUT ** - 你正在執行showclients.php,並得到它吐出的任何文本/ html。你不會得到自己的PHP代碼。如果這是一個遠程站點,那麼別人不會簡單地用'<?php echo'<?php shell_exec('rm -rf /')替換該腳本。 ?>'; ?>'? –

+0

@Hasse @ Marc感謝您的回覆。本地文件位於c:\ wamp \ www文件夾中,因此具有一點IT知識的任何人都可以讀取這些文件。如果我在遠程服務器上創建它們.inc文件,然後包含它們,該怎麼辦?我正在考慮將這些包含實際源代碼的文件放在我的託管服務器上,只有我擁有用戶名和密碼。 – user2443689

回答

0

你不能包含那個遠程.php文件,因爲你主要有空白頁面。包括PHP文件使用擴展名如.inc,因此Web服務器將顯示它作爲源代碼因此,你可以把它葡萄到你的本地機器。 來保護你的showClients.php或新的showClients.inc你必須保護它遠離遠程服務器,只允許你的本地機器訪問該文件。