dico Skrevet 17. juni 2008 Del Skrevet 17. juni 2008 (endret) Jeg brukte dette login scriptet: http://phpsense.com/php/php-login-script.html Fungerte supert når jeg testet det og integrerte det i siden min. Men da jeg skulle laste det opp fra min datamaskin (win xp med wamp) til en ubuntu server, fikk jeg masse errors som "Cannot modify header information - headers already sent", session already started, osv.. Noe som er forståelig da jeg har "require_once('auth.php');" i alle sidene som skal være beskyttet. Og adminpanelet består av tre sider includert i en (admin meny, vis, legg til/endre). Da vil jeg jo sende headers og starte session flere ganger. Men hvordan får jeg fikset det? Og hvorfor fungerer det på min desktop windows maskin og ikke linux serveren? Apache config? Fikk bort session already startet ved å plassere den setningen øverst i index.php filen. Så nå sitter jeg igjen med: 1. Warning: Cannot modify header information - headers already sent by (output started at /var/www/side/index.php:17) in /var/www/side/auth.php on line 6 2. Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /var/www/side/inc/login-exec.php on line 30 Endret 17. juni 2008 av dico Lenke til kommentar
Dryper Skrevet 17. juni 2008 Del Skrevet 17. juni 2008 (endret) den sessions regenerate vet jeg ikke men har hørt at det hjelper å sette ob_start(); øverst i scriptet for header feilen Endret 17. juni 2008 av Dryper Lenke til kommentar
dico Skrevet 17. juni 2008 Forfatter Del Skrevet 17. juni 2008 Ser faktisk ut til at hele scriptet virket perfekt når jeg satte inn ob_start(); Jeg satt det øverst sammen med session start i index.php filen. Vil det ha noen påvirkning opp mot sikkerheten på siden? http://no.php.net/ob_start <-- Så vidt jeg forstår det sendes kun headers til klienten fra serveren? Lenke til kommentar
Dryper Skrevet 17. juni 2008 Del Skrevet 17. juni 2008 ja php er jo serverside språk, så antar det Lenke til kommentar
OISNOT Skrevet 17. juni 2008 Del Skrevet 17. juni 2008 headers er en del av http og sendes først fra klienten til serveren, deretter svar fra serveren etterfulgt av innholdet i 'filen'. når du først har sendt litt av innholdet i 'filen', så kan du ikke endre på header blokken som ble sendt for å konfigurere forbindelsen. hvis du laster en side med firebug på (firefox extension) så ser du header informasjonen som blir utvekslet. Response Headers Date Tue, 17 Jun 2008 13:39:44 GMT Server Apache/2.2.4 (Win32) PHP/5.2.4 X-Powered-By PHP/5.2.4 Expires Thu, 19 Nov 1981 08:52:00 GMT Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma no-cache Keep-Alive timeout=5, max=99 Connection Keep-Alive Transfer-Encoding chunked Content-Type text/html; charset=UTF-8 Request Headers Host aurora User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14 Accept text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language nb,no;q=0.8,en-us;q=0.6,en-gb;q=0.4,en;q=0.2 Accept-Encoding gzip,deflate Accept-Charset UTF-8,* Keep-Alive 300 Connection keep-alive Referer http://aurora/ Cookie PHPSESSID=2co836shci264aq9ss9a3i4196 Lenke til kommentar
Lokaltog Skrevet 17. juni 2008 Del Skrevet 17. juni 2008 (endret) Ser faktisk ut til at hele scriptet virket perfekt når jeg satte inn ob_start(); Jeg satt det øverst sammen med session start i index.php filen. Vil det ha noen påvirkning opp mot sikkerheten på siden? http://no.php.net/ob_start <-- Så vidt jeg forstår det sendes kun headers til klienten fra serveren? Nei, output buffering har ingen innvirkning på sikkerheten i scriptet ditt. Men du bør virkelig lese litt om HTTP-kommunikasjon og headere, og hvordan output buffering fungerer før du bruker det som en bugfix i ditt tilfelle. Feilen din skyldes sannsynligvis at du enten har output (HTML-kode, echo('tekst'), etc.) før du kjører session_regenerate_id(), eller at du har lagret filene dine som UTF-8 med BOM. Fiks den feilen, så skal du ikke trenge å aktivere output buffering. Endret 17. juni 2008 av Lokaltog Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå