欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP 編程安全性小結(jié)

 更新時(shí)間:2010年01月08日 23:53:44   作者:  
PHP 編程安全性小結(jié),這4個(gè)小技巧,大家可以參考一些成熟的cms程序。如dedecms等
規(guī)則 1:絕不要信任外部數(shù)據(jù)或輸入

  關(guān)于 Web 應(yīng)用程序安全性,必須認(rèn)識(shí)到的第一件事是不應(yīng)該信任外部數(shù)據(jù)。外部數(shù)據(jù)(outside data) 包括不是由程序員在 PHP 代碼中直接輸入的任何數(shù)據(jù)。在采取措施確保安全之前,來(lái)自任何其他來(lái)源(比如 GET 變量、表單 POST、數(shù)據(jù)庫(kù)、配置文件、會(huì)話變量或 cookie)的任何數(shù)據(jù)都是不可信任的。

  對(duì)用戶輸入進(jìn)行清理的一個(gè)簡(jiǎn)單方法是,使用正則表達(dá)式來(lái)處理它。

  規(guī)則 2:禁用那些使安全性難以實(shí)施的 PHP 設(shè)置

  已經(jīng)知道了不能信任用戶輸入,還應(yīng)該知道不應(yīng)該信任機(jī)器上配置 PHP 的方式。例如,要確保禁用 register_globals。如果啟用了 register_globals,就可能做一些粗心的事情,比如使用 $variable 替換同名的 GET 或 POST 字符串。通過(guò)禁用這個(gè)設(shè)置,PHP 強(qiáng)迫您在正確的名稱空間中引用正確的變量。要使用來(lái)自表單 POST 的變量,應(yīng)該引用 $_POST['variable']。這樣就不會(huì)將這個(gè)特定變量誤會(huì)成 cookie、會(huì)話或 GET 變量。

  要 檢查的第二個(gè)設(shè)置是錯(cuò)誤報(bào)告級(jí)別。在開(kāi)發(fā)期間,希望獲得盡可能多的錯(cuò)誤報(bào)告,但是在交付項(xiàng)目時(shí),希望將錯(cuò)誤記錄到日志文件中,而不是顯示在屏幕上。為什么 呢?因?yàn)閻阂獾暮诳蜁?huì)使用錯(cuò)誤報(bào)告信息(比如 SQL 錯(cuò)誤)來(lái)猜測(cè)應(yīng)用程序正在做什么。這種偵察可以幫助黑客突破應(yīng)用程序。為了堵住這個(gè)漏洞,需要編輯 php.ini 文件,為 error_log 條目提供合適的目的地,并將 display_errors 設(shè)置為 Off。

  規(guī)則 3:如果不能理解它,就不能保護(hù)它

  一些開(kāi)發(fā)人員使用奇怪的語(yǔ)法,或者將語(yǔ)句組織得很緊湊,形成簡(jiǎn)短但是含義模糊的代碼。這種方式可能效率高,但是如果您不理解代碼正在做什么,那么就無(wú)法決定如何保護(hù)它。

  規(guī)則 4:“縱深防御” 是新的法寶

  即使使用 PHP regex 來(lái)確保 GET 變量完全是數(shù)字的,仍然可以采取措施確保 SQL 查詢使用轉(zhuǎn)義的用戶輸入。

  縱深防御不只是一種好思想,它可以確保您不會(huì)陷入嚴(yán)重的麻煩。

相關(guān)文章

  • php mysql操作mysql_connect連接數(shù)據(jù)庫(kù)實(shí)例詳解

    php mysql操作mysql_connect連接數(shù)據(jù)庫(kù)實(shí)例詳解

    php操作數(shù)據(jù)庫(kù)首先必須連接到指定的數(shù)據(jù)庫(kù),連接數(shù)據(jù)庫(kù)可以使用PHP mysql_connect函數(shù),本文章向大家介紹mysql_connect函數(shù)的使用方法和實(shí)例,需要的朋友可以參考一下
    2016-12-12
  • PHP實(shí)現(xiàn)的裝箱算法示例

    PHP實(shí)現(xiàn)的裝箱算法示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的裝箱算法,結(jié)合實(shí)例形式分析了PHP裝箱算法的概念、原理、定義及使用方法,需要的朋友可以參考下
    2018-06-06
  • php字符串的替換,分割和連接方法

    php字符串的替換,分割和連接方法

    這篇文章主要介紹了php字符串的替換,分割和連接方法,分析了preg_replace、str_replace、preg_split、explode及implode等函數(shù)的功能與使用方法,需要的朋友可以參考下
    2016-05-05
  • php防止站外遠(yuǎn)程提交表單的方法

    php防止站外遠(yuǎn)程提交表單的方法

    這篇文章主要介紹了php防止站外遠(yuǎn)程提交表單的方法,實(shí)例演示了通過(guò)session與驗(yàn)證碼進(jìn)行提交過(guò)濾的方法,非常實(shí)用,需要的朋友可以參考下
    2014-10-10
  • PHP MVC模式在網(wǎng)站架構(gòu)中的實(shí)現(xiàn)分析

    PHP MVC模式在網(wǎng)站架構(gòu)中的實(shí)現(xiàn)分析

    MVC模式在網(wǎng)站架構(gòu)中十分常見(jiàn)。它允許我們建立一個(gè)三層結(jié)構(gòu)的應(yīng)用程式,從代碼中分離出有用的層,幫助設(shè)計(jì)師和開(kāi)發(fā)者協(xié)同工作以及提高我們維護(hù)和擴(kuò)展既有程式的能力。
    2010-03-03
  • php查找字符串出現(xiàn)次數(shù)的方法

    php查找字符串出現(xiàn)次數(shù)的方法

    這篇文章主要介紹了php查找字符串出現(xiàn)次數(shù)的方法,較為詳細(xì)的介紹了substr_count函數(shù)的用法,并補(bǔ)充說(shuō)明了相關(guān)的字符串操作函數(shù),具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • PHP根據(jù)IP判斷地區(qū)名信息的示例代碼

    PHP根據(jù)IP判斷地區(qū)名信息的示例代碼

    這篇文章主要介紹了PHP根據(jù)IP判斷地區(qū)名信息的方法,需要的朋友可以參考下
    2014-03-03
  • PHP實(shí)現(xiàn)的mysql讀寫(xiě)分離操作示例

    PHP實(shí)現(xiàn)的mysql讀寫(xiě)分離操作示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的mysql讀寫(xiě)分離操作,簡(jiǎn)單講述了mysql讀寫(xiě)分離的原理,并結(jié)合實(shí)例形式給出了php針對(duì)mysql的讀寫(xiě)sql語(yǔ)句操作不同數(shù)據(jù)庫(kù)的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-05-05
  • PHPCMS的使用小結(jié)

    PHPCMS的使用小結(jié)

    前段時(shí)間仔細(xì)看了一下PHPCMS這套開(kāi)源的系統(tǒng),實(shí)現(xiàn)了程序與模板分離,覺(jué)得寫(xiě)得真的不錯(cuò)。本人很少關(guān)注開(kāi)源系統(tǒng),尤其是PHP的,覺(jué)得PHP本身就是一個(gè)寵大的函數(shù)庫(kù),不過(guò)幾千個(gè)系統(tǒng)函數(shù)確實(shí)解決了不少問(wèn)題。
    2010-09-09
  • PHP獲取特殊時(shí)間戳的方法整理

    PHP獲取特殊時(shí)間戳的方法整理

    時(shí)間在我們?nèi)粘5拇a編寫(xiě)中會(huì)是經(jīng)常出現(xiàn)的篩選或排序條件,尤其是一些特殊時(shí)間節(jié)點(diǎn)的時(shí)間顯得尤為突出。今天對(duì)部分相對(duì)簡(jiǎn)便的方法進(jìn)行了部分整理,需要的可以參考一下
    2023-01-01

最新評(píng)論