PHP CodeIgniter學習筆記詳解_PHP教程

來源:互聯網
上載者:User
今天做的是個簡單的表明表頁面,前端我用的是Bootstrap。沒辦法,自己不懂美工,也只有用別人的工具。BS真的很漂亮,而且外掛程式豐富,不愧是twitter工程師弄出來的東西。

(中文官網:http://www.bootcss.com)好的東西大家都喜歡,但是它對IE6-9的相容幾乎是0。大家也懂的,國外基本是不使用這幾款瀏覽器了。不過在中國,IE依然佔有很高的市場份額。所以,有人開發了一款叫做BSIE的Bootstrap外掛程式,美其名曰鄙視IE,使用方法也相當簡單。好像有點跑題,後端我用的是CodeIgniter,它是基於PHP的開源架構。CI是今天的正題。

因為CI對於資料的過濾函數只有xss_clean(),(不知道是不是自己才疏學淺,總之沒有找到其他的過濾函數)而今天的項目涉及到接收使用者資料,然後提交資料庫的操作。沒有針對SQL語句的過濾,使得這一操作變得很危險。有點蛋蛋的憂桑,我想到的方法是改寫CI的xss_clean()函數,使之具備過濾SQL注入語句的功能;一來改起來方便,二來過濾資料的時候不用嵌套兩個函數。說幹就幹,在CI/system/core/目錄下找到secure.php檔案,找到xss_clean()函數的申明位置,在最後加上這麼一段東西。

PHP代碼

代碼如下 複製代碼
$str = str_replace("_","x",$str);
$str = str_replace("%","x",$str);
$str = str_replace(""","x",$str);
$str = str_replace("'","x",$str);
$str = str_replace("select","x",$str);
$str = str_replace("update","x",$str);
$str = str_replace("insert","x",$str);
$str = str_replace("set","x",$str);
$str = str_replace("where","x",$str);
$str = str_replace("from","x",$str);
$str = str_replace("alert","x",$str);
$str = str_replace("like","x",$str);
return $str;

這樣差不多能避免一般的SQL注入了。

http://www.bkjia.com/PHPjc/628693.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628693.htmlTechArticle今天做的是個簡單的表明表頁面,前端我用的是Bootstrap。沒辦法,自己不懂美工,也只有用別人的工具。BS真的很漂亮,而且外掛程式豐富,不愧...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.