2017-09-01 87 views
1

那麼,作爲一個開始,請原諒我的入門英..裸露文件夾

我想知道更多關於PHP MVC應用程序的安全

我已經建立了我自己的MVC,我還沒有完成它。
我的應用程序目錄通過具有子元素的URL訪問公開。

如何讓這個隱藏的訪客?

以下是我試圖

Apache的mod_rewrite的?

我仍然不知道在像Codeigniter這樣的框架中的每個文件夾中是否會清空index.html?

用什麼東西來表示? 和, ...如何使?

編輯 我知道豆蔻一些有關rewrite_rules

下面是我.htaccess

 
    Options -MultiViews 
    RewriteEngine On 
    RewriteBase /ligia 

    #RewriteCond %{REQUEST_FILENAME} -f [OR] 
    #RewriteCond %{REQUEST_FILENAME} -l [OR] 
    #RewriteCond %{REQUEST_FILENAME} -d 
    #RewriteRule .+ - 
    #I know, it is commented 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule "^(.+)$" "index.php?uri=$1" [QSA,L] 

但恐怕如果這是拿我的MVC應用程序 安全的最佳途徑! ?

我需要幫助!

+1

如果他們是訪問者,那麼他們將不會登錄。在顯示網頁上的選項之前測試此值,即if(user_logged_in){show links} – jeff

+1

將所有框架代碼放在webroot之外。例如使用典型的cpanel apache服務器,將它放在public_html之外。只有您的入口點(index.php)和任何靜態資產(css,js,imgages)在網絡根目錄 – Steve

+1

請在您提出有關SO的問題之前,瞭解這些技術的基礎知識並閱讀適當的書籍和教程。 –

回答

1

首先確保您的.htaccess文件位於您的文檔根目錄(與index.php相同的位置),或者它只會影響它所在的​​子文件夾(以及其中的任何子文件夾 - 遞歸地)。

下使你的規則略有變化,所以它看起來是這樣的:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA] 

在你剛匹配的那一刻。這是任何角色的一個實例,您至少需要*匹配任何角色的任意數量的實例。

如果您想將整個shebang安裝在子目錄中,例如/mvc//framework/,那麼最簡單的方法是稍微更改重寫規則以將其考慮在內。

RewriteRule ^(.*)$ /mvc/index.php?path=$1 [NC,L,QSA] 

,並確保您的index.php是該文件夾中,而.htaccess文件是在文檔根。

NC =無病例(不區分大小寫是沒有必要的,因爲有在模式沒有字符)

L =上次(它會停在改寫後,這個重寫所以一定要確保它的最後一件事您的重寫列表)

QSA =查詢字符串Apend,以防萬一您想要保留並傳遞給index.php的類似於?like = penguins的內容。

+0

看到編輯,感謝分享這個,我想知道我的應用程序是否保持安全,只需我的知識 –

+0

@MarceloRafael安全不能應用到像一些單板應用程序。每種安全問題都以其他方式處理 – krishnaraj

+0

好的,在這種情況下,爲了保持我的文件夾的安全,這個apache能正常工作嗎?!我講直接訪問URL –

相關問題