![]() |
Att ge ordentlig felrapportering på en utvecklingsserver samt för admins är egentligen en självklarhet, men jag har sett skräckexempel där webbutvecklare sitter och programmerar direkt mot säkerhetsmässigt uruselt konfigurerade tiokronors-webbhotell där man inte ens har tillgång till felloggen. Även om man har konfigurerat PHP vettigt på utvecklingssajten/-servern (error_reporting = E_ALL, display_errors = On, log_errors = On) kan man missa en hel del felutskrifter. På sidor som inte skriver ut något innehåll utan bara gör en redirect är det omöjligt att hinna se om något fel inträffar. Visst kan man ha som vana allt regelbundet kika i felloggen, men det är inte på långa vägar lika smidigt som att se felen direkt i webbläsaren. Därför skriver jag den här jätteenkla guiden för ett mer funktionsdugligt och säkrare Internet-Sverige.
1. Inkludera den här funktionen: Kod:
function myErrorHandler($errno, $errstr, $errfile, $errline) Kod:
flush(); 2. Följande kod aktiverar den nya fina felhanteraren och bör köras så tidigt i exekveringen som möjligt. Detta bör endast göras för administratörer och för CLI (PHP exekverat från shell/dosfönster) samt på utvecklingssajten/-servern. Vanliga användare skall alltså inte se felutskrifter då detta kan leda till exploatering av säkerhetsluckor i koden. Kod:
set_error_handler("myErrorHandler"); Det vore bra med ett eget forum för tips och tricks. |
Alla tider är GMT +2. Klockan är nu 12:16. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson