大家好,我最近在做一个移动端的web,单页面的。碰到个问题请教下。
第一次请求返回所有的html,css,js。#modifyPW为修改密码的路由。
在用户没有登录的情况下,如果使用移动端的浏览器,则通过修改url能看到修改密码的界面。怎么能禁止这种情况呢?
目前的思路是通过js判断?不知道这种思路对不对?
各位都是怎么解决的呢?
大家讲道理2017-04-17 13:07:36
瀏覽器本地js可以做一些基礎的權限驗證,但是因為本地程式碼可以被使用者更改,所以建議在伺服器端也需要對權限進行驗證。
你可以考慮這樣設計,在需要權限驗證的頁面(密碼修改頁面)先採用使用js驗證一次,這樣可以保證效率,同時,頁面(密碼修改頁面)打開後,採用ajax方式到服務端進行二次驗證,驗證不通過則在回呼函數中處理,這樣可以確保安全;
高洛峰2017-04-17 13:07:36
路由都是有生命週期的,具體是怎麼寫取決於你所使用的框架或是路由元件。基本的想法是在路由進入啟動的時候需要有一個規則來判斷當前的使用者是否已登陸,如果沒有就給他跳到登陸頁面去,應用此規則的路由就是受登陸保護的路由了。
怎麼判斷?當然是登陸的時候想辦法把能用於鑑權的資訊保存在本地,登出的時候再清除掉就是了。