PHP bestand valt ongeparsed te downloaden?
ik heb sinds gisteren een raar probleem met de website van een client. Als ik naar de website browse via IE7 (en IE6) laadt hij de index.php pagina's niet maar komt IE met een popup om deze te downloaden. Als ik dat dan vervolgens doe kan ik netjes een phpbestand downloaden met alle ongeparsde scripts erin. Een behoorlijk veiligheidsrisico dus.
Dit gebeurt alleen als ik direct naar website.nl of http://website.nl browse, dus zonder www. Als ik er www voor zet werkt het wel gewoon.
Dit probleem is nu bij twee index.php één in de root en één in een andere map. Maar ik heb meer mappen (o.a. forum, show, chat etc) en daarin staan ook index.php bestanden die het wel gewoon op elke manier doen.
Heeft iemand enig idee hoe dit zou kunnen komen en hoe het valt op te lossen?
Groetjes,
een PHPhulper onder een nieuw account (vanwege het veiligheidsrisico)
/zet aluhoedje op
Verander eventueel dit:
AddType application/x-httpd-php .html .htm
in:
AddType php5-cgi .html .htm
Gisteren probeerde ik op advies van mijn hosting Roundcube te installeren als webmail. Alleen kreeg ik een PHP error. Toen ik Google doorzocht op die foutmelding bleek dat Roundcube niet compatibel is met PHP4 (raar dat mijn hosting dat toch adviseert). Vervolgens vond ik op de Roundcube website een workaround. Ik moest het volgende in m'n .htaccess zetten:
<FilesMatch "\.(inc|php|php3|php4|php5|php6|phtml|phps)$">
AddHandler x-httpd-php5 .php
</FilesMatch>
Daarna viel het probleem me eigenlijk pas op (ik browse altijd naar websites zonder http:// of ww te typen en dat ging voorheen prima).
Dus heb ik eerst zelf m'n oude .htaccess teruggezet. Toen het probleem bleef heeft mijn hosting ook nog een oudere backup van de .htaccess teruggezet.
Probleem blijft. Het laatste bericht van mijn hosting was dat ik mijn cookies en temp internet files maar moest verwijderen, dit terwijl ik had aangegeven dat het probleem op meerder computers voorkomt. Niet alleen mijn eigen.
Kan het zijn dat die code die ik in mijn .htaccess iets drastisch heeft veranderd in een php.ini of apache bestand ofzo (ben niet zo thuis in .htaccess).
Edit:
Even nog ter verduidelijking. Als ik dus browse naar website.nl/index.php (dus ook zonder www of http://) dan treedt het probleem niet op. Ik vermoed dus dat er een foutje zit in dat gene wat automatisch je index.php of index.html opent als je naar een url gaat (volgens mij doet Apache dat?)
Gewijzigd op 01/01/1970 01:00:00 door Pseudo
in je root zet (om maar eens klassiek te doen :D ). Als je het probleem dan nog hebt lijkt het me eerder een webserver config probleem, en mag je hoster aan het werk lijkt me
Paste eens je .htaccess zoals hij nu is?
@ Jan: Bij deze:
(Ik heb de websitenaam veranderd in 'website')
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
####ERROR_HEADER####
#ErrorDocument 400
ErrorDocument 401 /401.shtml
#ErrorDocument 402
ErrorDocument 403 /403.shtml
ErrorDocument 404 /404.shtml
ErrorDocument 500 /404.shtml
#ErrorDocument 501
#ErrorDocument 502
#ErrorDocument 503
####ERROR_TAILER####
RewriteEngine On
#Rule-0
RewriteCond %{HTTP_HOST} ^forum.website.nl$
RewriteCond %{REQUEST_URI} !^/forum/
RewriteRule (.*) /forum/$1
#Rule-1
RewriteCond %{HTTP_HOST} ^www.forum.website.nl$
RewriteCond %{REQUEST_URI} !^/forum/
RewriteRule (.*) /forum/$1
#Rule-2
RewriteCond %{HTTP_HOST} ^admin.website.nl$
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule (.*) /admin/$1
#Rule-3
RewriteCond %{HTTP_HOST} ^www.admin.website.nl$
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule (.*) /admin/$1
#Rule-4
RewriteCond %{HTTP_HOST} ^shop.website.nl$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/$1
#Rule-5
RewriteCond %{HTTP_HOST} ^www.shop.website.nl$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/$1
#Rule-6
RewriteCond %{HTTP_HOST} ^upload.website.nl$
RewriteCond %{REQUEST_URI} !^/public/upload/
RewriteRule (.*) /public/upload/$1
#Rule-7
RewriteCond %{HTTP_HOST} ^www.upload.website.nl$
RewriteCond %{REQUEST_URI} !^/public/upload/
RewriteRule (.*) /public/upload/$1
#Rule-8
RewriteCond %{HTTP_HOST} ^onderzoek.website.nl$
RewriteCond %{REQUEST_URI} !^/onderzoek/
RewriteRule (.*) /onderzoek/$1
#Rule-9
RewriteCond %{HTTP_HOST} ^www.onderzoek.website.nl$
RewriteCond %{REQUEST_URI} !^/onderzoek/
RewriteRule (.*) /onderzoek/$1
#Rule-10
RewriteCond %{HTTP_HOST} ^webmail.website.nl$
RewriteCond %{REQUEST_URI} !^/webmail/
RewriteRule (.*) /webmail/$1
#Rule-11
RewriteCond %{HTTP_HOST} ^www.webmail.website.nl$
RewriteCond %{REQUEST_URI} !^/webmail/
RewriteRule (.*) /webmail/$1
####ACCESS_HEADER###
<LIMIT GET POST>
</LIMIT>
####ACCESS_TAILER###
#ErrorDocument 400
ErrorDocument 401 /401.shtml
#ErrorDocument 402
ErrorDocument 403 /403.shtml
ErrorDocument 404 /404.shtml
ErrorDocument 500 /404.shtml
#ErrorDocument 501
#ErrorDocument 502
#ErrorDocument 503
####ERROR_TAILER####
RewriteEngine On
#Rule-0
RewriteCond %{HTTP_HOST} ^forum.website.nl$
RewriteCond %{REQUEST_URI} !^/forum/
RewriteRule (.*) /forum/$1
#Rule-1
RewriteCond %{HTTP_HOST} ^www.forum.website.nl$
RewriteCond %{REQUEST_URI} !^/forum/
RewriteRule (.*) /forum/$1
#Rule-2
RewriteCond %{HTTP_HOST} ^admin.website.nl$
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule (.*) /admin/$1
#Rule-3
RewriteCond %{HTTP_HOST} ^www.admin.website.nl$
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule (.*) /admin/$1
#Rule-4
RewriteCond %{HTTP_HOST} ^shop.website.nl$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/$1
#Rule-5
RewriteCond %{HTTP_HOST} ^www.shop.website.nl$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/$1
#Rule-6
RewriteCond %{HTTP_HOST} ^upload.website.nl$
RewriteCond %{REQUEST_URI} !^/public/upload/
RewriteRule (.*) /public/upload/$1
#Rule-7
RewriteCond %{HTTP_HOST} ^www.upload.website.nl$
RewriteCond %{REQUEST_URI} !^/public/upload/
RewriteRule (.*) /public/upload/$1
#Rule-8
RewriteCond %{HTTP_HOST} ^onderzoek.website.nl$
RewriteCond %{REQUEST_URI} !^/onderzoek/
RewriteRule (.*) /onderzoek/$1
#Rule-9
RewriteCond %{HTTP_HOST} ^www.onderzoek.website.nl$
RewriteCond %{REQUEST_URI} !^/onderzoek/
RewriteRule (.*) /onderzoek/$1
#Rule-10
RewriteCond %{HTTP_HOST} ^webmail.website.nl$
RewriteCond %{REQUEST_URI} !^/webmail/
RewriteRule (.*) /webmail/$1
#Rule-11
RewriteCond %{HTTP_HOST} ^www.webmail.website.nl$
RewriteCond %{REQUEST_URI} !^/webmail/
RewriteRule (.*) /webmail/$1
####ACCESS_HEADER###
<LIMIT GET POST>
</LIMIT>
####ACCESS_TAILER###
Gewijzigd op 01/01/1970 01:00:00 door Pseudo
Dus:
RewriteRule ^(.*)$
Dit is echter een versie van toen het wel werkte, dus hij zou goed moeten zijn.
Heeft het nut om een complete back-up van m'n account terug te laten plaatsen ondanks dat ik geen bestanden of databases heb aangepast behalve de .htaccess waar al een backup van is teruggeplaatst?
Of moet ik dit toch meer in de richting van de hosting (php.ini apache condiguratie) gaan zoeken?
Als je zelf je .htaccess file aan kunt passen, probeer dan eens alles "out te commenten". Als je dan je index.php in de root nog steeds als download aangeboden krijgt, is er een serverinstellingsfout.
Wat Jan bedoelt is probeer het eens zonder de .htaccess file.
Hmm, als ik de .htaccess rename zodat die niet meer gebruikt wordt doen m'n subdomeinen het niet meer (logisch) maar 't probleem is er nog.
Edit: Als de executiontime wordt overschreden dan wordt het bestand ook als upload aangeboden. Echter dan krijg je echt niet de php code te zien.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Als je host van PHP4 naar PHP5 is gegaan zou ik contact opnemen en checken of er meer mensen zijn met hetzelfde probleem.
Bedankt allemaal!
Edit:
Hmm, ze hebben een FTPbackup teruggezet. Ook hebben ze mijn account vergeleken met andere accounts, alles ziet er hetzelfde uit.
Probeer ik net op een Vista bak (IE7) geen enkel probleem. Daarna weer een verse computer met XP en IE6, zelfde probleem. IE7 op XP, zelfde probleem.
Ik heb echt geen idee wat ik nog kan proberen.
Hmm, ze hebben een FTPbackup teruggezet. Ook hebben ze mijn account vergeleken met andere accounts, alles ziet er hetzelfde uit.
Probeer ik net op een Vista bak (IE7) geen enkel probleem. Daarna weer een verse computer met XP en IE6, zelfde probleem. IE7 op XP, zelfde probleem.
Ik heb echt geen idee wat ik nog kan proberen.
Gewijzigd op 01/01/1970 01:00:00 door Pseudo