我有一個控制器,檢查某個用戶是否可以訪問某個視圖,如果他可以,則加載該視圖。我是否需要擔心這個觀點是否有保障?我的意思是,用戶通過瀏覽控制器或通過網址來查看視圖的唯一方法是,例如:mysite/somedir/forbiddenview.phpCodeIgniter保護視圖
我想其他資源也是如此 - 可以公開查看哪些內容(除了控制器當然..)
我有一個控制器,檢查某個用戶是否可以訪問某個視圖,如果他可以,則加載該視圖。我是否需要擔心這個觀點是否有保障?我的意思是,用戶通過瀏覽控制器或通過網址來查看視圖的唯一方法是,例如:mysite/somedir/forbiddenview.phpCodeIgniter保護視圖
我想其他資源也是如此 - 可以公開查看哪些內容(除了控制器當然..)
通常,codeigniter中的所有內容都被路由,並以公開的index.php文件開頭。應用程序目錄中的內容默認情況下不能通過URL直接訪問,只要在控制器中具有良好的安全措施,安全措施就是安全的。
這個漂亮的從導自身here
檢查在控制器適當的訪問權限級別多少是一個很好的做法,而且它甚至更好,以檢查它My_Controller如果你有中間控制器
另手訪問視圖文件夾直接幾乎是不可能的,由於index.html文件有
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
,你應該使用相同的index.html文件在您的網站資源e.i.上傳,CSS,Javascript,圖像等等。
是您公開的文件夾中的視圖文件嗎?如果是這樣,您可以在視圖文件夾中使用.htaccess文件,並在其中添加'拒絕所有'來阻止直接訪問。如果用戶在瀏覽網址時能夠訪問您的視圖文件,則取決於您的代碼設置方式。 –
我使用默認的CI設置,因此它們位於應用程序/視圖/ –
放大John的評論 - 將您的應用程序文件夾和系統文件夾移動到公用文件夾以外是一個好習慣。 YOu需要在index.php中設置幾條路徑,但在此之後,您可以更好地控制訪問。 – Jerry