Is die stoor van konfigurasieveranderlikes in 'n XML-lêer op 'n PHP-werf onder die werfwortel te riskant?

StackOverflow https://stackoverflow.com/questions/605308

  •  03-07-2019
  •  | 
  •  

Vra

Ek het opgemerk dat Magento MySQL-verbindingsbesonderhede in 'n XML-lêer stoor wat nie bo die docroot beveilig is nie.Dit lyk....wel gevaarlik.

XML lyk na 'n handige manier om konfigurasiedata te stoor, behalwe vir een ding, om in te tik http://www.domain.com.au/library/config.xml sal die wêreld jou private besonderhede wys!

Ek het voortgegaan en 'n XMl-lêer gebruik en dit by my .htaccess-lêer gevoeg.

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

Nou ek was gelukkig hiermee, nou is ek nie te seker nie.Wat as die .htaccess-lêer per ongeluk uitgevee/korrup is (gebeur dit behalwe menslike foute) en wat as ek eendag die toepassing op 'n nie-apache-bediener wil plaas...het elke bediener die ekwivalent om XML-lêers te blokkeer, en as hulle dit doen, kan hulle op 'n vouervlak verander word soos die .htaccess kan (en nie net 'n httpd.conf-lêer nie).

My vraag is...weeg die gerief van XML (maklik om op te dateer, ontwerpers wat moet peuter sal nie so geïntimideer voel nie) die potensiële probleme (blootstelling van private data) swaarder?

Was dit nuttig?

Oplossing

Ek wil persoonlik net winkel config lêer inligting in 'n formaat dis nie in 'n direk toeganklik formaat of plek. So ek wil óf die XML-formaat bo die docroot of gebruik die PHP $ config [ 'VARNAME'] = 'waarde' formaat. Die later metode sal net maak 'n leë wit bladsy as genoem direk (so lank as wat dit gaan alles PHP en bevat geen HTML en nie eggo uit).

Gallery, vBulletin en Joomla al gebruik die tweede metode wat ek genoem het. Ek weet ek het dié projekte genoem voor in ander PHP verwante vrae, maar dit lyk na 'n metode wat algemeen gebruik word en aanvaar tussen projekte wees.

Ander wenke

Kort antwoord, nee, dit is nie. Maar 'n beter vraag sou wees. As dit nie in 'n config lêer gestoor waar sou jy dit hou?

Ek stem heeltemal saam met inventix hieroor, maar bied ook 'n 3de opsie wat met een van die twee gekombineer moet word

noem die lêer wat konfigurasie-inligting stoor

.htanything.whatever

Soos die bedienerbreedte alle lêers wat begin .ht is deur eksterne gebruikers onleesbaar {dit is die rede waarom htaccess altyd .htaccess is}

persoonlik stoor ek slegs konfigurasielêers sluit in en funksioneer biblioteke buite die dokumentwortel, maar verstaan ​​dat sommige dus nie altyd die .htname-konvensie op hulle gebruik nie, ook as die $includes-lêergids binne die dokumentboom geskuif moet word deur iemand wat die sagteware op gebruik so 'n bediener

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top