1
我目前正在建立一個網站,允許一些沒有太多的用戶輸入。我總是知道什麼樣的角色是允許的,哪些不是。例如,所有的輸入都是字母數字,電子郵件或者有幾個允許的符號,例如。$!? & @ ** - +。 (密碼)filter_input-regexp足夠用於「小自由度」的輸入嗎?
此刻,我總是使用任何輸入之前查了,我這樣做是用PHP的filter_input功能,使用濾鏡一樣
filter_var($post['var'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);
filter_input(INPUT_GET, 'id', FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z0-9]*$/")
filter_input(INPUT_POST, 'password', FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z0-9\.\$\-\_\!\£\@\#\*\:\?\&]+$/"))
我想以後只使用使用正則表達式進行驗證,因爲它在確定要批准的內容和拒絕的內容方面似乎是最佳選擇。
問題是我有點偏執,所以我想知道是否對於最初解釋的用法(([{「絕不允許例如),只使用驗證是安全的通過
正則表達式。謝謝!
是的,執行是確實終止的,因爲信息通常是繼續進行所必需的。 關於MySQL,是否足夠簡單的準備好聲明? – Dominus
您應該單獨傳遞每個參數,並輸入參數(數字實際上轉換爲數字,字符串被轉義等) - 這是SQL注入預防的一般想法。 –