• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    關于register_globals設置的問題

    發布: 2007-7-14 19:53 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 8次 | 進入軟件測試論壇討論

    領測軟件測試網


    基于各種各樣的理由,PHP 的設置需要依賴于 register_globals
    參數打開,但是也成為安全的重要隱患,請看下面的一段代碼:

    <?php
    if (authenticate_user()) {
    $authenticated = true;
    }
    ...
    ?>

    遠程用戶可以簡單的傳遞 'authenticated' 作為表單變量,即使
    authenticate_user() 函數返回 false,$authenticated 還是會設置成 true。這是一個簡單的例子,你或許會說,我的程序不會這樣來寫。
    而實際上,在稍微復雜一些的應用里面,這個機制就會成為重大的漏洞。

    因此,新版本的 PHP ,我們建議用戶不要采用這個變量來控制應用,雖然我們沒有打算要在不久的將來刪除。

    為了幫助用戶建立 register_globals 設置為 off 的應用,增加了一些變量來代替舊的,下面是7 個新的數組:

    $_GET - 包含了通過 GET 發送的表單變量
    $_POST - 包含了通過 POST 發送的表單變量
    $_COOKIE - 包含了 HTTP cookie 變量
    $_SERVER - 包含服務器端變量 (例如:REMOTE_ADDR)
    $_ENV - 包含環境變量
    $_REQUEST - GET 變量,POST 變量和 Cookie 變量的混合,通過用戶而來而不能信任的變量。
    $_SESSION - 包含通過會話模塊注冊的 HTTP 變量

    這些變量,在任何范圍內,都自動設置為全局變量,可以在任何地方調用,而不需要加 global 關鍵字。
    例如:

    function example1()
    {
    print $_GET["name"]; // 沒有必要寫成:'global $_GET;'
    }

    另外一個值得一提的小竅門是在 $_SESSION 數組中增加一個記錄能自動作為會話變量注冊,就像你調用了
    session_register() 函數。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>