mysql - 關於php資料處理流程

來源:互聯網
上載者:User
一個問題一直沒有弄清楚,關於資料處理。

使用者提交資訊--1-入庫--2-前台調出

為了防止xss注入和對html的處理,這個流程是如何操作的?

回複內容:

一個問題一直沒有弄清楚,關於資料處理。

使用者提交資訊--1-入庫--2-前台調出

為了防止xss注入和對html的處理,這個流程是如何操作的?

不知道你說的是 XSS 還是 XSS 與 注入。一般來講注入指的是 SQL 的注入。

你困惑的原因是對 XSS 瞭解不多,簡單點說,我在你的網站上發表內容(比如發表評論),這段內容包含 Javascript 代碼,而貴站沒有對使用者發表的內容進行過濾,這就造成了我之後的人開啟這一頁的時候,會運行我發布的 Javascript 代碼,如果我是個合格的程式員,基本可以利用這段代碼幹任何事情了。比如掛馬,更甚點,如果貴站是個社交網站,我可以事先對轉寄、關注、點贊、分享之類的動作進行抓包,分析 POST 或 GET 格式,然後在 Javascript 中進行相應操作, 例如先關注我,然後分享我的評論給你的好友,你可以看到這是惡性迴圈,是個引爆點,理論上這可以影響到一個社交網站絕大多數使用者。 這是所謂的 XSS。

早年流傳一句話,不要信任任何使用者,話不中聽,但這是極為有道理的,你不知道你的訪客到底是何方神聖,抱有怎樣目的。從他輸入資訊,到他的資訊以任何形式被展示出來(評論、主題帖、站內信,只要涉及他輸入的地方全部都算)這個過程內,你必須得對此內容進行處理,檢驗其中是否含有危險內容,一般都在入庫之前處理,可以連同有可能存在的 SQL 注入一併處理了。至於 SQL 另一個類別,也是使用者輸入(包含$_GET,$_POST了),有可能危害到你資料庫的安全,有經驗的人會猜測你程式裡使用的 SQL 陳述式(比如你的內容地址是http://yourdomain.com/?id=23,顯然你程式中走位就是SELECT id,name FROM xxx WHERE id = 23),他會在網址後面加東西,最簡單的是 or 1 = 1,使你任何語句查詢結果都為真,這要是使用者登入部分,危害太大。詳細的你自己找資料吧。

我見到許多 PHP 項目用的 XSS 過濾是開源庫:http://htmlpurifier.org/

簡單來說,在入庫前要對使用者的輸入進行檢查,通常是防 SQL 注入。然後在頁面顯示資訊時要進行恰當的轉義,這個通常是防 XSS.

  • 聯繫我們

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