如果讓我做一個登錄頁面

  1. 要對用戶輸入的信息進行簡單的過濾。例如點擊登錄按鈕時先判斷用戶輸入用戶名和密碼了嗎?密碼超過指定數量的字符了嗎?(密碼要有個最低長度)。如果有問題,就直接用alert之類的提示用戶,沒必要把數據傳到后臺了。當然,服務器收到用戶名和密碼時候也要再做這些判斷,再去數據庫里判斷有沒有這個用戶
    若用戶名,密碼都輸入了,但有錯誤,通過Ajax及時通知。

  2. 頁面加載速度?怎么優化?
    要不要把靜態文件放入cdn?
    要不要壓縮js代碼?怎么壓縮?
    緩存

  3. 登錄頁面還有一些值得考慮:
    用http還是https?

  4. 驗證碼:

什么是驗證碼:

驗證碼就是將一串隨機產生的數字或符號,生成一幅圖片,圖片里加上一些干擾元素,由用戶肉眼識別其中的驗證碼信息,然后輸入表單提交網站驗證,驗證成功后才能使用某項功能。

實現

驗證碼的實現方法有很多種,但大致模式是一樣的。目前有的網站使用驗證碼的方式有session方式和cookie方式,區分主要根據驗證碼初始值保存在哪里,雖然對于一般用戶而言這兩種都是不可見的,但安全性差別很大。一般而言,session方式比較安全,用戶除非識別圖片,別無選擇,只是增加了服務器的一丁點額外的內存消耗。cookie方式不使用額外的服務器內存,但cookie方式用戶可對驗證交互過程數據進行分析,可輕松破解驗證碼,所以出于更高的安全性考慮,還是建議使用session方式

目的

現在很多網站使用驗證碼技術,主要為了安全性考慮,防止用戶使用程序自動機進行自動提交注入,避免服務器交互處理遭受不必要的攻擊。其主要思想是必須通過人為參與完成信息提交過程,并且對驗證碼字體做了相關處理,因為對于目前的技術發展來說,驗證碼的計算機自動識別還不太容易(不是沒有可能)。雖然現在有些技術可以繞過驗證碼輸入這一關,但使用驗證碼技術,也還是對其有一定的制約作用,并且主要的對網站的信息安全還是起到了顯著的保護屏障的作用。

使用方式

驗證碼的使用很簡單,只是在原有表單提交代碼內加入兩個新要素:驗證碼輸入框,驗證碼圖片。驗證碼圖片,圖片源指向服務器端動態處理,輸出二進制圖片格式,用戶看不清時可單獨重載圖片,產生新的驗證碼。驗證碼輸入,主要用于用戶獲取用戶識別驗證碼圖片的結果。提交數據后服務器根據已保存的初始值和用戶識別值進行比對,如不符,立即停止信息提交處理,反饋驗證碼輸入錯誤

  1. 如何預防攻擊:
sql注入:

服務器端用預處理語句

xss:

跨站腳本攻擊,是注入攻擊的一種其原理是攻擊者向有XSS漏洞的網站中輸入(傳入)惡意的HTML代碼或者用戶端腳本語言。,當其它用戶瀏覽該網站時,這段HTML代碼會自動執行,從而達到攻擊的目的。如,盜取用戶Cookie、破壞頁面結構、重定向到其它網站等。其特點是不對服務器端造成任何傷害。
XSS防御:
完善的過濾體系 永遠不相信用戶的輸入。需要對用戶的輸入進行處理,只允許輸入合法的值,其它值一概過濾掉。

csrf:

跨站請求偽造,攻擊者盜用了你的身份,以你的名義發送惡意請求。
對于服務器要能夠判斷請求是否是從自家網站發出的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容