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)
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:
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?)
En wat als je je hele site in een submapje zet, en alleen een index.php met:
<?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
@ 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')
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?
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.