Bestandsrechten voor PHP-bestanden

PHP-scripts worden op de NederHost-webhostingomgeving uitgevoerd onder je eigen gebruikersnaam. Hierdoor is het mogelijk om websites te isoleren wat veiliger is en zijn eventuele problemen eenvoudig te herleiden tot een specifieke website. De door NederHost gebruikte software controleert bovendien of PHP-scripts geen 'onveilige' rechten hebben.

De juiste bestandsmodus voor PHP-scripts is 0600 of 0400, wat betekent dat alleen de gebruiker leesrechten (0400) of lees- en schrijfrechten (0600) heeft. De beide modi zijn in principe even veilig: de eigenaar kan immers altijd 0400 veranderen naar 0600. Het recht om een bestand uit te voeren (0500 of 0700) is niet nodig voor PHP-scripts.

Stel in geen geval de rechten op PHP-scripts in als 0666 of zelfs 0777 - daarmee worden de scripts voor een ieder te wijzigen en zal de webserver weigeren deze bestanden nog langer uit te voeren. In sommige (verouderde) instructies voor applicatiesoftware kan worden gevraagd om deze rechten tijdelijk zo in te stellen, maar dit is nooit nodig.

Als de bestandsmodus onjuist is ingesteld, of als je een script probeert uit te voeren waarvan je niet de eigenaar bent, dan krijg je een foutmelding (meestal Internal Server Error of een suPHP-melding). De exacte oorzaak is dan in het logbestand (errorlog) van je website te vinden:

  • 'Script has wrong UID' - je probeert een script uit te voeren dat een andere eigenaar heeft. Je kunt dit probleem oplossen door het bestand te kopieren (mits je leesrechten hebt). Dit probleem zou normaliter niet moeten optreden, neem eventueel contact op met NederHost om dit op te lossen.
  • 'Inappropriate permissions set on script' - de rechten van het bestand zijn te ruim ingesteld.
  • 'Forbidden' - de rechten op het script zijn te krap ingesteld (je hebt tenminste leesrechten voor de eigenaar nodig om het script uit te kunnen voeren).