veiligheid .ini bestand
HI,
Ik wil een ini bestand gebruiken. Met de volgende code kan ik dat bestand in één keer omzetten naar een array. Heel handig!
Het bestand 'geheim.ini' staat in een directory die publiek toegankelijk is. Een hacker die dat weet staan, kan gewoon intypen 'path/to/file/geheim.ini en de brouwser toont de inhoud van dat bestand. Oeps daar gaan mijn geheimen.
Dus ik dacht dat op te lossen door mijn bestand geheim.ini.php te noemen en de eerste regel als volgt te maken:
Let op: er staat een ; voor de php code.
De ; is voor parse_ini_file een commentaarlijn en zal de php code negeren.
De hacker die via zijn brouwser het bestand aanroept zal PHP aanroepen voor het bestand. de ; ziet hij als html tekst en output hij naar de brouwser, dan ziet hij de php tag en voert het commando die dat daar staat uit. Probleem opgelost. Of niet?
Welk veiligheidsprobleem zou ik nog kunnen hebben?
Kan het volgende bijvoorbeeld:
Een hacker maakt op zijn computer een php bestand waarbij hij de parse_ini_file instructie gebruikt en mijn bestandsnaam er aan koppelt. Zo komt hij toch aan de inhoud. Is dat mogelijk?
Marc.
edit: juiste tag om de ; binnen de code te zetten.
Ik wil een ini bestand gebruiken. Met de volgende code kan ik dat bestand in één keer omzetten naar een array. Heel handig!
Het bestand 'geheim.ini' staat in een directory die publiek toegankelijk is. Een hacker die dat weet staan, kan gewoon intypen 'path/to/file/geheim.ini en de brouwser toont de inhoud van dat bestand. Oeps daar gaan mijn geheimen.
Dus ik dacht dat op te lossen door mijn bestand geheim.ini.php te noemen en de eerste regel als volgt te maken:
Let op: er staat een ; voor de php code.
De ; is voor parse_ini_file een commentaarlijn en zal de php code negeren.
De hacker die via zijn brouwser het bestand aanroept zal PHP aanroepen voor het bestand. de ; ziet hij als html tekst en output hij naar de brouwser, dan ziet hij de php tag en voert het commando die dat daar staat uit. Probleem opgelost. Of niet?
Welk veiligheidsprobleem zou ik nog kunnen hebben?
Kan het volgende bijvoorbeeld:
Een hacker maakt op zijn computer een php bestand waarbij hij de parse_ini_file instructie gebruikt en mijn bestandsnaam er aan koppelt. Zo komt hij toch aan de inhoud. Is dat mogelijk?
Marc.
edit: juiste tag om de ; binnen de code te zetten.
Gewijzigd op 01/01/1970 01:00:00 door Marc Cools
Gesponsorde koppelingen:
Ik zou zeggen, probeer dat laatste eens, en kijk of het werkt. Lijkt me niet, maar weet het niet zeker.
Gewijzigd op 01/01/1970 01:00:00 door Midas
1) Waarom zet je het bestand in een openbare directory? Met htaccess kun je deze directory afschermen.
2) Waarom staat het bestand niet buiten de webroot? Dan kan niemand er via de browser bij.
Raar probleem die je zelf aanmaakt maar die gelukkig op diverse manieren eenvoudig is op te lossen.
2) Waarom staat het bestand niet buiten de webroot? Dan kan niemand er via de browser bij.
Raar probleem die je zelf aanmaakt maar die gelukkig op diverse manieren eenvoudig is op te lossen.
Marc Cools schreef op 04.04.2009 09:18:
Een hacker maakt op zijn computer een php bestand waarbij hij de parse_ini_file instructie gebruikt en mijn bestandsnaam er aan koppelt. Zo komt hij toch aan de inhoud. Is dat mogelijk?
Dat zal niet lukken. Zodra het bestand langs Apache komt en het de extensie .php heeft, (en apache goed ingesteld is) zal het bestand uitgevoerd worden. Zo kan je ook niet achter de php broncode van deze website komen, omdat de PHP code uitgevoerd wordt, en niet opgestuurd.
pgFrank schreef op 04.04.2009 09:55:
1) Waarom zet je het bestand in een openbare directory? Met htaccess kun je deze directory afschermen.
2) Waarom staat het bestand niet buiten de webroot? Dan kan niemand er via de browser bij.
Raar probleem die je zelf aanmaakt maar die gelukkig op diverse manieren eenvoudig is op te lossen.
2) Waarom staat het bestand niet buiten de webroot? Dan kan niemand er via de browser bij.
Raar probleem die je zelf aanmaakt maar die gelukkig op diverse manieren eenvoudig is op te lossen.
Van htaccess weet ik ... totaal niets.
Kan iemand mij dat uitleggen of een link waar een goede uitleg staat?
Stel je hebt het zo:
Dan kun je in de map 'ini' een bestand genaamd .htaccess zetten met de inhoud:
Als je naar www.jewebsite.nl/ini/geheim.ini gaat krijg je een 'Forbidden [403]' error te zien.
Dan kun je in de map 'ini' een bestand genaamd .htaccess zetten met de inhoud:
Als je naar www.jewebsite.nl/ini/geheim.ini gaat krijg je een 'Forbidden [403]' error te zien.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
Als ik de volledige map en submaps wil afsluiten, is dan mijn .htaccess het volgende:
Is dat juist? Ook voor de submappen of moet ik nog per submap een .htaccess aanmaken?
Is dat juist? Ook voor de submappen of moet ik nog per submap een .htaccess aanmaken?
Gewijzigd op 01/01/1970 01:00:00 door Marc Cools
zet het gewoon buiten de webroot, en klaar!
GaMer13 schreef op 04.04.2009 13:49:
Als ik nu alles wil verbieden behalve php en txt files, is dan het volgende correct?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
order allow,deny
deny from all
<FilesMatch "\.(php|txt)$">
order allow,deny
allow from all
</FilesMatch>
deny from all
<FilesMatch "\.(php|txt)$">
order allow,deny
allow from all
</FilesMatch>
Ik weet het, ik ken er niets van. ;(
edit:
Mmmm, blijkbaar ben ik niet alleen die er niets van kent ... :D
Gewijzigd op 01/01/1970 01:00:00 door Marc Cools



