PHP bestand valt ongeparsed te downloaden?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pseudo

Pseudo

07/08/2009 09:54:00
Quote Anchor link
Goedenmorgen allemaal,

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)
 
PHP hulp

PHP hulp

27/11/2024 12:56:59
 
- wes  -

- wes -

07/08/2009 10:04:00
Quote Anchor link
/zet aluhoedje op
 
Jan Koehoorn

Jan Koehoorn

07/08/2009 10:04:00
Quote Anchor link
Net van PHP4 naar PHP5 gegaan? Check dan even je .htaccess file

Verander eventueel dit:
AddType application/x-httpd-php .html .htm
in:
AddType php5-cgi .html .htm
 
Pseudo

Pseudo

07/08/2009 10:10:00
Quote Anchor link
Hoi Jan, ik zat ook even te denken dat ik iets met PHP versies heb lopen klooien.

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
 
Rens nvt

Rens nvt

07/08/2009 10:54:00
Quote Anchor link
En wat als je je hele site in een submapje zet, en alleen een index.php met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "hello world";
?>

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
 
Jan Koehoorn

Jan Koehoorn

07/08/2009 10:59:00
Quote Anchor link
Paste eens je .htaccess zoals hij nu is?
 
Pseudo

Pseudo

07/08/2009 11:03:00
Quote Anchor link
@ Rens: Nog vager. Ik heb m'n index.php (6kb) gerenamed en een nieuwe index.php geüpload met daarin alleen een Hello World. Daarna even cookies en temp files verwijderd. Als ik dan weer naar website.nl gaat kan ik nog steeds een bestand downloaden. Dit is echter weer de oude index.php van 6kb. Dus niet die Hello World file. 't Wordt steeds vreemder.

@ Jan: Bij deze:
(Ik heb de websitenaam veranderd in 'website')
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
####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###
Gewijzigd op 01/01/1970 01:00:00 door Pseudo
 
Jan Koehoorn

Jan Koehoorn

07/08/2009 11:12:00
Quote Anchor link
Ik weet niet of het iets uitmaakt, maar horen je RewriteRules niet te beginnen met ^ en te eindigen met $?

Dus:
RewriteRule ^(.*)$
 
Pseudo

Pseudo

07/08/2009 11:16:00
Quote Anchor link
Dit is automatisch gegenereerd door mijn hosting. In mijn hostingoverzicht kan ik subdomeinen toevoegen. Dan wordt het zo in m'n .htaccess gezet.

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?
 
Jan Koehoorn

Jan Koehoorn

07/08/2009 11:32:00
Quote Anchor link
Eigenlijk doen al je Rewrite Rules hetzelfde; ze hebben te maken met je subdomeinen.

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.
 
Pseudo

Pseudo

07/08/2009 11:43:00
Quote Anchor link
Waarin zou ik dat dan moeten veranderen? Als je er eentje voor zou kunnen doen kan ik de rest zelf veranderen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
#Rule-0
RewriteCond    %{HTTP_HOST}    ^forum.website.nl$    
RewriteCond    %{REQUEST_URI}    !^/forum/    
RewriteRule    (.*)    /forum/$1    
 
- SanThe -

- SanThe -

07/08/2009 11:45:00
Quote Anchor link
Wat Jan bedoelt is probeer het eens zonder de .htaccess file.
 
Pseudo

Pseudo

07/08/2009 12:18:00
Quote Anchor link
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.
 
- SanThe -

- SanThe -

07/08/2009 12:23:00
Quote Anchor link
Dan is er iets fout in de serverinstellingen.

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 -
 
Jan Koehoorn

Jan Koehoorn

07/08/2009 12:34:00
Quote Anchor link
Als je host van PHP4 naar PHP5 is gegaan zou ik contact opnemen en checken of er meer mensen zijn met hetzelfde probleem.
 
Pseudo

Pseudo

07/08/2009 12:44:00
Quote Anchor link
Ik zal even contact met ze opnemen!

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.
Gewijzigd op 01/01/1970 01:00:00 door Pseudo
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.