php留言系統(2)

來源:互聯網
上載者:User
1、參照之前的(mvc架構總結)將整體架構定下來之後,那麼請求預設參數將變為:

//預設請求首頁:    //P=front    //C=fIndex    //A=show

1.1 找到控制器fIndexController下的動作:

//首頁展示動作        public function showAction()        {            //防止惡意調用            $this->checkAuthority();            //不需要具體模型,直接載入模版            require CUR_VIE_PATH.'index.html';        }

2、防止惡意調用這一塊放於我們的Controller層面,所有模型幾乎都要用到,因此將其放於基本模型,、

/*     * 防止惡意調用方法,適用於全部方法     */    protected function checkAuthority()    {        if(!defined('IN_NG'))        {            exit("you no authority");        }    }

隨時調用該方法

3、拒絕php低版本,由於總是在運行,所以直接放入初始檔案Framework.class.php

4.1將 CSS做成包含檔案

每個頁面都要匯入CSS,著實麻煩,我們定一個檔案title.inc.html。

但是每個頁面卻有一個不相同的CSS,那麼可以定義一個常量來證明本頁。

define('SCRIPT','index');

Your Title    php        require 'application/view/front/title.inc.html'    ?>

其中title.inc.html代碼

"shortcut icon" href="favicon.ico" />"stylesheet" type="text/css" href="public/front/css/1/basic.css" />"stylesheet" type="text/css" href="public/front/css/1/.css" />

5.2 建立註冊頁面register.html

參數請求為:    請求註冊頁        P=front        C=fRegister        A=show

代碼為:

"register">        

會員註冊

5.3點擊頭像彈出選擇頭像框:

"public/front/face/m01.gif" alt="頭像選擇"                        onclick="javascript:window.open('face.php','face','width=400,height=400,top=0,left=0')" />

這個頁面存放著64 張頭像頁面,可以通過數組迴圈的方式羅列出來

foreach (range(1,9) as $number) {?>
 
"face/m0.gif" />

6.提交資料
將資料提交到本頁,必須做一個名值對,用來判斷是否提交了資料。

?action=register也可以設計一個隱藏欄位來做名值對<inputtype="hidden"name="action"value="register"/>

6.1核對驗證碼
驗證碼的用途是為了防止惡意註冊和一些表單偽造跨站攻擊等。
驗證碼裡儲存在session 裡面,可以判斷是否是當前表單提交,而重新整理一次後驗證碼隨
即變化,又可以防止多次惡意註冊。

if (!($_POST['yzm'] == $_SESSION['code'])) {_alert_back('驗證碼有誤,請重新輸入!');}

6.2.接受資料

設計變數,將資料提交出來賦值給變數$_username=$_POST['username'];也可以通過一個數組來存放提交過來的值$_clean=array();$_clean['username']=$_POST['username']

6.3各種限制與過濾

1.首先,必須去掉兩邊的空格$_string = trim($_string);

2.其次長度限制if (mb_strlen($_string,'utf-8') < $_min_num || mb_strlen($_string,'utf-8') > $_max_num)

3.敏感字元限制$_char_pattern = '/[<>\'\"\ \ ]/';if (preg_match($_char_pattern,$_string)) {}

4.敏感使用者名稱限制$_mg[0] = '22';$_mg[1] = '11';$_mg[2] = '33';foreach ($_mg as $value) {$_mg_string .= '['.$value.']'.'\n';}if (in_array($_string,$_mg)) {_alert_back($_mg_string.'以上敏感使用者名稱不得註冊!');}

5.轉義輸入,有效防止SQL 注入問題//mysql_escape_string();//addslashes()return mysql_real_escape_string($_string); //這個mysql_是需要串連資料庫的

以上就介紹了php留言系統(2),包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.