首頁 php教程 php手册 [转]老王:如何安全的include文件

[转]老王:如何安全的include文件

Jun 06, 2016 pm 08:11 PM
include 如何 安全 文件

大多数人会将一个单独的php文件当成配置文件,早些年的配置文件大多类似这样: ?php?? $config['a']=1;?? $config['b']=2;?? 这样include后。可以使用$config变量了,但慢慢的,却越来越发现这样不太好,于是就有了这种 ?php?? return?array(?? 'a'=1,'b'=2?

大多数人会将一个单独的php文件当成配置文件,早些年的配置文件大多类似这样:

    <?php ??
    $config['a']=1;??
    $config['b']=2;??
登入後複製

这样include后。可以使用$config变量了,但慢慢的,却越来越发现这样不太好,于是就有了这种

    <?php ??
    return?array(??
    'a'=>1,'b'=>2??
    );??
登入後複製

这时候只要写$config = include('config.php'),就相当于和上面一样了。然后老王讲的就是指第二种情况。

原文在:http://huoding.com/2014/02/25/329

他举的例子是:

    <?php ??
    ??
    $debug?=?false;??
    //?...??
    $config?=?include?'config.php';??
    //?...??
    if?($debug)?{??
    ????phpinfo();??
    }??
登入後複製

如果config.php里万一写了$debug=true;那么就会造成phpinfo()被输出了,与实际预料就有了偏差了。那么怎么安全的include呢?

老王说:

    $config?=?call_user_func(function()?{??
    ????return?include?'config.php';??
    });??
登入後複製

这样就利用局部变量把里面的一些可能污染外部的变量控制在匿名函数的作用域里。

然后我自己也测试了一下,确实。即使用$GLOBALS,也没有影响,而单独的php文件,如果你不是function ,也不能直接global $debug;这样是语法错误的。

所以。。。。如果为了安全,你还是和老王学一下吧。。。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Go 語言檔案重新命名操作全解析 Go 語言檔案重新命名操作全解析 Apr 08, 2024 pm 03:30 PM

Go語言中使用os.Rename函數重新命名文件,語法為:funcRename(oldpath,newpathstring)error。此函數將oldpath指定的檔案重新命名為new​​path指定的檔案。範例包括簡單重命名、移動檔案到不同目錄以及忽略錯誤處理。 Rename函數執行原子操作,在兩個檔案位於同一目錄時可能僅更新目錄項,跨磁碟區或正在使用的檔案重新命名可能會失敗。

java框架安全架構設計應如何與業務需求平衡? java框架安全架構設計應如何與業務需求平衡? Jun 04, 2024 pm 02:53 PM

透過平衡安全需求和業務需求,Java框架設計可實現安全性:識別關鍵業務需求,優先考慮相關安全要求。制定彈性安全策略,分層應對威脅,定期調整。考慮架構靈活性,支援業務演變,抽象安全功能。優先考慮效率和可用性,優化安全措施,提高可見度。

AI 的新世界挑戰:安全與隱私怎麼了? AI 的新世界挑戰:安全與隱私怎麼了? Mar 31, 2024 pm 06:46 PM

生成性AI的快速發展在隱私和安全方面帶來了前所未有的挑戰,引發了對監管幹預的迫切呼籲。上週,我有機會在華盛頓特區與一些國會議員及其工作人員討論AI與安全相關的影響。今天的生成性AI讓我想起80年代末的互聯網,基礎研究、潛在潛力和學術用途,但它還沒有為公眾做好準備。這次,不受約束的供應商野心,受到小聯盟創投的推動和Twitter迴聲室的激勵,正在快速推進AI的「美麗新世界」。 「公共」基礎模型有缺陷,不適用於消費者和商業用途;隱私抽象,即使存在,也像篩子一樣洩漏;安全結構非常重要,因為攻擊面

Windows安全中心即時保護關閉技巧分享 Windows安全中心即時保護關閉技巧分享 Mar 27, 2024 pm 10:09 PM

在今天的數位化社會中,電腦已經成為我們生活中不可或缺的一部分。而作為最普及的作業系統之一,Windows系統在全球被廣泛使用。然而,隨著網路攻擊手段的不斷升級,保護個人電腦安全變得尤為重要。 Windows作業系統提供了一系列的安全功能,其中「Windows安全中心」是其重要組成部分之一。在Windows系統中,「Windows安全中心」可協助我們

Struts 2框架的安全配置與加固 Struts 2框架的安全配置與加固 May 31, 2024 pm 10:53 PM

為保護Struts2應用程序,可以使用以下安全性配置:停用未使用的功能啟用內容類型檢查驗證輸入啟用安全性令牌防止CSRF攻擊使用RBAC限制基於角色的訪問

PHP微框架:Slim 與 Phalcon 的安全性探討 PHP微框架:Slim 與 Phalcon 的安全性探討 Jun 04, 2024 am 09:28 AM

Slim和Phalcon在PHP微框架的安全性比較中,Phalcon內建有CSRF和XSS防護、表單驗證等安全特性,而Slim缺乏開箱即用的安全特性,需手動實施安全措施。對於安全至關重要的應用程序,Phalcon提供了更全面的保護,是更好的選擇。

使用C++實現機器學習演算法:安全性考量與最佳實踐 使用C++實現機器學習演算法:安全性考量與最佳實踐 Jun 01, 2024 am 09:26 AM

在使用C++實作機器學習演算法時,安全考量至關重要,包括資料隱私、模型篡改和輸入驗證。最佳實務包括採用安全庫、最小化權限、使用沙盒和持續監控。實戰案例中展示了使用Botan庫對CNN模型進行加密和解密,以確保安全訓練和預測。

如何實施 PHP 安全最佳實踐 如何實施 PHP 安全最佳實踐 May 05, 2024 am 10:51 AM

如何實施PHP安全最佳實踐PHP是最受歡迎的後端Web程式語言之一,用於建立動態和互動式網站。然而,PHP程式碼可能容易受到各種安全漏洞的攻擊。實施安全最佳實務對於保護您的網路應用程式免受這些威脅至關重要。輸入驗證輸入驗證是驗證使用者輸入並防止惡意輸入(如SQL注入)的關鍵第一步。 PHP提供了多種輸入驗證函數,例如filter_var()和preg_match()。範例:$username=filter_var($_POST['username'],FILTER_SANIT

See all articles