簡體   English   中英

將配置變量存儲在站點根目錄下的PHP站點上的XML文件中是否太冒險了?

[英]Is storing config variables in an XML file on a PHP site under the site root too risky?

我注意到Magento將MySQL連接詳細信息存儲在XML文件中,該文件在docroot上方沒有得到保護。 這似乎....非常危險。

XML似乎是一種方便的配置數據存儲方式,除了一件事,在http://www.domain.com.au/library/config.xml中鍵入將向世界展示您的私有詳細信息!

我繼續使用XMl文件,並將其添加到我的.htaccess文件中。

<Files ~ "\.xml$"> // regex files that end with xml extension
Order allow,deny 
Deny from all // don't show them
</Files>

現在我對此感到滿意,現在我不太確定。 如果.htaccess文件被意外刪除/損壞(除了人為錯誤,還會發生什么),如果有一天我想將應用程序放置在非Apache服務器上,該怎么辦...每個服務器都具有等同於阻止XML文件的功能,並且如果可以的話,是否可以像.htaccess一樣在文件夾級別上進行更改(而不僅僅是httpd.conf文件)。

我的問題是... XML的便利性(易於更新,需要修補的設計人員不會感到如此膽怯)是否超過了潛在的問題(公開私有數據)?

我個人只會以無法直接訪問的格式或位置的格式存儲配置文件信息。 因此,我要么使用docroot上方的XML格式,要么使用PHP $ config ['varname'] ='value'格式。 如果直接調用,則后面的方法將僅呈現空白白頁(只要是全PHP且不包含HTML且不回顯)。

Gallery,vBulletin和Joomla都使用了我提到的第二種方法。 我知道我之前在其他與PHP有關的問題中都提到了那些項目,但這似乎是一種在項目之間被廣泛使用和接受的方法。

簡短的回答,不,不是。 但是會有一個更好的問題。 如果未將其存儲在配置文件中,則將其保存在哪里?

我完全同意inventix的觀點,但是還提供了第三個選項,應與

命名存儲配置信息的文件

.htanything.whatever

在服務器范圍內,外部用戶無法讀取所有以.ht開頭的文件{這就是為什么htaccess始終是.htaccess的原因}

個人而言,我只將配置文件包含庫和函數庫存儲在文檔根目錄之外,但要理解,因此,某些東西總是要在它們上使用.htnaming約定,以防萬一有人在軟件樹上將$ includesfolder移至文檔樹中,這樣的服務器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM