Godfather_d Geschrieben 10. Juni 2008 Teilen Geschrieben 10. Juni 2008 Hallo Leute, habe ein kleines Problem mit meinem Login. Das Login ansich funktioniert nur wenn ich auf der Hauptseite nach dem Login meine JAVA-Navi mache kommt es zum Problem. Hier der Code: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Lexikon</title> <!-- JavaScript --> <script type="text/javascript" src="Java_Menu_Buttons/jquery-1.2.2.pack.js"></script> <script type="text/javascript" src="Java_Menu_Buttons/ddaccordion.js"> </script> <script type="text/javascript"> ddaccordion.init({ //top level headers initialization headerclass: "expandable", //Shared CSS class name of headers group that are expandable contentclass: "categoryitems", //Shared CSS class name of contents group collapseprev: true, //Collapse previous content (so only one open at any time)? true/false defaultexpanded: [0], //index of content(s) open by default [index1, index2, etc]. [] denotes no content animatedefault: false, //Should contents open by default be animated into view? persiststate: true, //persist state of opened contents within browser session? toggleclass: ["", "openheader"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"] togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs) animatespeed: "normal", //speed of animation: "fast", "normal", or "slow" oninit:function(headers, expandedindices){ //custom code to run when headers have initalized //do nothing }, onopenclose:function(header, index, state, isclicked){ //custom code to run whenever a header is opened or closed //do nothing } }) ddaccordion.init({ //2nd level headers initialization headerclass: "subexpandable", //Shared CSS class name of sub headers group that are expandable contentclass: "subcategoryitems", //Shared CSS class name of sub contents group collapseprev: true, //Collapse previous content (so only one open at any time)? true/false defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content animatedefault: false, //Should contents open by default be animated into view? persiststate: true, //persist state of opened contents within browser session? toggleclass: ["opensubheader", "closedsubheader"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"] togglehtml: ["none", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs) animatespeed: "normal", //speed of animation: "fast", "normal", or "slow" oninit:function(headers, expandedindices){ //custom code to run when headers have initalized //do nothing }, onopenclose:function(header, index, state, isclicked){ //custom code to run whenever a header is opened or closed //do nothing } }) </script> <style type="text/css"> .arrowlistmenu{ width: 180px; /*width of accordion menu*/ } .arrowlistmenu .menuheader{ /*CSS class for menu headers in general (expanding or not!)*/ font: bold 14px Arial; color: white; background: black url(Java_Menu_Buttons/titlebar.png) repeat-x center left; margin-bottom: 10px; /*bottom spacing between header and rest of content*/ text-transform: uppercase; padding: 4px 0 4px 10px; /*header text is indented 10px*/ cursor: hand; cursor: pointer; } .arrowlistmenu .openheader{ /*CSS class to apply to expandable header when it's expanded*/ background-image: url(Java_Menu_Buttons/titlebar-active.png); } .arrowlistmenu ul{ /*CSS for UL of each sub menu*/ list-style-type: none; margin: 0; padding: 0; margin-bottom: 8px; /*bottom spacing between each UL and rest of content*/ } .arrowlistmenu ul li{ padding-bottom: 2px; /*bottom spacing between menu items*/ } .arrowlistmenu ul li .opensubheader{ /*Open state CSS for sub menu header*/ background: lightblue !important; } .arrowlistmenu ul li .closedsubheader{ /*Closed state CSS for sub menu header*/ background: lightgreen !important; } .arrowlistmenu ul li a{ color: #A70303; background: url(Java_Menu_Buttons/arrowbullet.png) no-repeat center left; /*custom bullet list image*/ display: block; padding: 2px 0; padding-left: 19px; /*link text is indented 19px*/ text-decoration: none; font-weight: bold; border-bottom: 1px solid #dadada; font-size: 90%; } .arrowlistmenu ul li a:visited{ color: #A70303; } .arrowlistmenu ul li a:hover{ /*hover state CSS*/ background-color: #F3F3F3; } .arrowlistmenu ul li a.subexpandable:hover{ /*hover state CSS for sub menu header*/ background: lightblue; } </style> <!-- JavaScript --> </head> <body bgcolor="#FFFFFF" topmargin="1" leftmargin="35"> <table border="1" id="table1" style="border-width: 0px" cellspacing="0" cellpadding="0" width="942" align="left" height="300"> <tr> <td colspan="2" style="border-style: none; border-width: medium"> <img border="0" src="imgB/sh.gif" width="942" height="24"></td> </tr> <tr> <td height="19" style="border-style: none; border-width: medium" width="263" background="imgB/leftnavi.gif"> <p style="margin-left: 259px"> </td> <td height="19" style="border-style: none; border-width: medium" width="679" background="imgB/rightnavi.gif"> </td> </tr> <tr> <td height="300" style="border-style: none; border-width: medium" width="263" align="center" background="imgB/leftinhalt.gif" valign="top"> <!-- JavaScript --> <div class="arrowlistmenu"> <p style="margin-bottom: -15px"> </p> <h3 class="menuheader expandable" style="margin-bottom: 0px">Home</h3> <ul class="categoryitems"> <li><a href="test">test</a></li> </ul> <h3 class="menuheader expandable" style="margin-bottom: 0px">Allgmein</h3> <ul class="categoryitems"> <li><a href="test">test</a></li> </ul> <h3 class="menuheader expandable" style="margin-bottom: 0px">Windows</h3> <ul class="categoryitems"> <li><a href="test">test</a></li> </ul> <h3 class="menuheader expandable" style="margin-bottom: 0px">Linux</h3> <ul class="categoryitems"> <li><a href="test">test</a></li> </ul> <h3 class="menuheader expandable" style="margin-bottom: 0px">Netzwerk</h3> <ul class="categoryitems"> <li><a href="test">test</a></li> </ul> <h3 class="menuheader expandable" style="margin-bottom: 0px">Programmierung</h3> <ul class="categoryitems"> <li><a href="test">test</a></li> </ul> <!-- JavaScript --> </td> <td height="0" style="border-style: none; border-width: medium" width="679" background="imgB/rightinhalt.gif" valign="top"> <p style="margin-left: 19px"><br> <img border="0" src="imgB/hauptseite/willkommen.gif" width="600" height="55"><p style="margin-left: 19px"> <br> <br> <p style="margin-left: 19px"> <p style="margin-left: 19px" align="center"> <img border="0" src="imgB/hauptseite/Lexikon-Buch.gif" width="300" height="296"></tr> <tr> <td height="36" style="border-style: none; border-width: medium" width="263" background="imgB/leftf.gif"> </td> <td height="23" style="border-style: none; border-width: medium" width="679" background="imgB/rightf.gif"> </td> </tr> <tr> <td style="border-style: none; border-width: medium" width="942" colspan="2"> <map name="FPMap0"> <!-- PHP --> <? session_start(); include 'sessionhelpers.inc.php'; if (logged_in()) { echo '<area href="logout.php" shape="rect" coords="1, 0, 87, 29">'; } else { header('Location:index.htm'); } ?> <!-- PHP --> </map> <img border="0" src="imgB/sf.gif" width="942" height="30" usemap="#FPMap0"></td> </tr> </table> </body> </html> [/PHP] [b][color=Red]Und auf dem Webserver kommt folgende Fehlermeldung:[/color][/b] [b]Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/export/www/hosting/lexikon/hauptseite.htm:118) in /usr/export/www/hosting/lexikon/hauptseite.htm on line 231[/b] Lass ich überall Java weg geht es :confused: Bitte um hilfe wo ist der Fehler??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 10. Juni 2008 Teilen Geschrieben 10. Juni 2008 Wie wäre es einfach mal Google mit der Fehlermeldung zu verwenden? Liefert über eine halbe Million treffer Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 10. Juni 2008 Teilen Geschrieben 10. Juni 2008 Lektion Nr 1 im Allgemeinen, intergalaktischen Grundregelwerk des Internets *g* Java != Javascript Lektion Nr 2 Wenn es eine Fehlermeldung gibt, hilft es sehr sie zu lesen, in diesem Fall "Warning Session_start()" like 231 Was mich zu vermutung bringt, das der Fehler etwas mit Session_Start zu tun hat... Lektion Nr 3 RTFM :mod: (was so viel heißt Read the f*** manual), in diesem Fall das PHP-Manual zu dem Befehl "session_start" Lektion Nr 4 Mehrere duzend oder hundert Zeilen code zu posten bringt wenig, kaum jemand wird sie lesen. p.s.: nicht böse gemeint Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 10. Juni 2008 Autor Teilen Geschrieben 10. Juni 2008 Wie wäre es einfach mal Google mit der Fehlermeldung zu verwenden? Liefert über eine halbe Million treffer Phil Gegoogelt hab ich als aller erstes, jedoch gibts dort nur individuelle Fehler. Lektion Nr 1 im Allgemeinen, intergalaktischen Grundregelwerk des Internets *g* Java != Javascript Thx Lektion Nr 2 Wenn es eine Fehlermeldung gibt, hilft es sehr sie zu lesen, in diesem Fall "Warning Session_start()" like 231 Das weiß ich auch anhand der Fehlermeldung. Das Problem ist im zusammenhang mit Java, ohne klappt es wunderbar!! Was mich zu vermutung bringt, das der Fehler etwas mit Session_Start zu tun hat... Darauf hin hab ich schon paar Sachen probiert, dass einzige was klappt ist das Session_Start ganz oben hinzumachen. Es funktioniert dann nur teilweise (Einloggen und Ausloggen funktioniert dann wieder aber es gibt dann eine Sicherheitslücke). Wenn ich im Browser auf zurück drücke komm ich auf die Webseite und gibt wieder die Fehlermeldung. Lektion Nr 4 Mehrere duzend oder hundert Zeilen code zu posten bringt wenig, kaum jemand wird sie lesen. Ja aber ich wette, das der Fehler irgendwo im zusammenhang mit Java liegt. p.s.: nicht böse gemeint Versteh schon Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 10. Juni 2008 Autor Teilen Geschrieben 10. Juni 2008 (bearbeitet) Habe das Problem ungefähr in Kontrolle. <html> <head> Ursprünglich hier Java </head> <body> CSS Kategorien Klappt nur wenn die Kategorien: Home Allgemein Windows Netzwerk da ist wenn jetzt noch Programmierung kommt, kommt die Fehlermeldung wieder??? Hier PHP </body> </html> Jetzt hier Bearbeitet 10. Juni 2008 von Godfather_d Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 10. Juni 2008 Teilen Geschrieben 10. Juni 2008 ok, bevor ich dir wieder Lektionen zitiere, 1. es hat nichts mit dem "JAVASCRIPT" (oder ECMASCRIPT) zu tun. 2. Lies dir dringend durch, wie PHP funktioniert. Denn dein Fehler ensteht durch einen PHP Befehl. 3. über was für eine Sicherheitslücke sprichst du ? 4. wo "muss" Session_Start denn stehen ? -> ganz oben Wie gesagt, schau dir an wie PHP funktioniert und was wann wie wo und warum an den Browser gesendet wird und wann was wie wo und warum vom Browser an den Server geht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 10. Juni 2008 Autor Teilen Geschrieben 10. Juni 2008 ok, bevor ich dir wieder Lektionen zitiere, 1. es hat nichts mit dem "JAVASCRIPT" (oder ECMASCRIPT) zu tun. 2. Lies dir dringend durch, wie PHP funktioniert. Denn dein Fehler ensteht durch einen PHP Befehl. 3. über was für eine Sicherheitslücke sprichst du ? 4. wo "muss" Session_Start denn stehen ? -> ganz oben Wie gesagt, schau dir an wie PHP funktioniert und was wann wie wo und warum an den Browser gesendet wird und wann was wie wo und warum vom Browser an den Server geht. Wie ich dir schon gesagt habe mit dem PHP-Befehl hat es nichts zutun!!!!!! Da wenn ich die ganze Navi auslasse funktioniert der Befehl super sauber excellent!!!!!!! Und wie ich schon oben geschrieben habe, habe ich den Java-Code in eine andere Stelle gepackt schon funktioniert es!!!!!!! Zu 3. Mit Sicherheitlücke meinte ich, dass wenn ich auf Logout drücke und wieder auf die Index-Seite gelange, wo der Benutzername und Passwort abgefragt wird. Kommt der jenige auf meinen geschützten Inhalt nur durch die Taste zurück im Browser, obwohl eine Passwort abfrage existiert. Das passierte nur wenn der Session_Start Befehl oben war. Jetzt nicht mehr da der PHP-Befehl sauber funktioniert! Wie gesagt habe das Problem behoben, kann geclosed werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 10. Juni 2008 Teilen Geschrieben 10. Juni 2008 hast du denn auch deine Lösung für uns ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 10. Juni 2008 Autor Teilen Geschrieben 10. Juni 2008 hast du denn auch deine Lösung für uns ? <html> <head> Ursprünglich hier Java </head> <body> CSS Kategorien Kategorien: Home Allgemein Windows Netzwerk Hier PHP </body> </html> Jetzt hier So ist die Lösung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 11. Juni 2008 Teilen Geschrieben 11. Juni 2008 Und nochmal da was Auin schon geschrieben hat, Java != JavaScript, also schreib bitte auch JavaScript und nicht Java. Mir graust es jedes mal wenn jemand das beides in einen Topf wirft. Und außerdem führt das nur zu unnötigen verwechslungen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 11. Juni 2008 Teilen Geschrieben 11. Juni 2008 So ist die Lösung. 1. Wenn PHP einen Fehler wirft, hat es auf jeden Fall mit PHP zu tun. Denn PHP hat nunmal absolut nichts mit Javascript (nicht Java!) zu tun. PHP wird auf dem Server ausgeführt, Javascript im Client. Die können sich also absolut nicht ins Gehege kommen. Dass es mit der Umstellung des Codes funktioniert mag ja sein, ist aber eher ein Workaround als eine Lösung. 2. Deine Sicherheitslücke ist keine Sicherheitslücke in dem Sinn sondern einfach ein Designfehler (oder sollt ich sagen ein Verständnisfehler?). Wenn du verstehst wie eine Session funktioniert, sollte dir klar sein was da passiert und wieso derjenige nur mit dem Zurück-Button wieder auf den geschützten Inhalt kommt. (Tip: session_close() beendet die Session nicht 100%. Die Daten auf dem Server sind sehr wahrscheinlich immernoch vorhanden. ein erneuter Aufruf mit alten Daten führt also zur Wiederbelebung der Session. -> Sessiondaten löschen bzw leeren bei bzw vor dem session_close.) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 11. Juni 2008 Autor Teilen Geschrieben 11. Juni 2008 (bearbeitet) Und nochmal da was Auin schon geschrieben hat, Java != JavaScript, also schreib bitte auch JavaScript und nicht Java. Mir graust es jedes mal wenn jemand das beides in einen Topf wirft. Und außerdem führt das nur zu unnötigen verwechslungen. LOL ich habe die ganze Zeit Javascript geschrieben!!! Erst Auin meinte zu mir nicht JavaScript sondern Java :confused: Guck in meinen aller ersten Post im Code steht ja JavaScript!! Bearbeitet 11. Juni 2008 von Godfather_d Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 11. Juni 2008 Teilen Geschrieben 11. Juni 2008 Hallo Leute, habe ein kleines Problem mit meinem Login. Das Login ansich funktioniert nur wenn ich auf der Hauptseite nach dem Login meine JAVA-Navi mache kommt es zum Problem. [...] Lass ich überall Java weg geht es :confused: [...] Also ich sehe in deinem 1. Post überall nur "Java" aber kein einziges mal "JavaScript" stehen. Und Aiun meinte genau dasselbe wie ich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 11. Juni 2008 Autor Teilen Geschrieben 11. Juni 2008 (bearbeitet) 1. Wenn PHP einen Fehler wirft, hat es auf jeden Fall mit PHP zu tun. Denn PHP hat nunmal absolut nichts mit Javascript (nicht Java!) zu tun. PHP wird auf dem Server ausgeführt, Javascript im Client. Die können sich also absolut nicht ins Gehege kommen. Dass es mit der Umstellung des Codes funktioniert mag ja sein, ist aber eher ein Workaround als eine Lösung. Ja da hast du recht aber es hatte was mit JavaScript zutun ich glaube die Dokumentation im Code hat zum Fehler geführt, das PHP dachte es wäre ein Code von ihm. Wie gesagt habe die ganze Zeit JavaScript geschrieben!! Erst Auin meinte das es Java heißt. 2. Deine Sicherheitslücke ist keine Sicherheitslücke in dem Sinn sondern einfach ein Designfehler (oder sollt ich sagen ein Verständnisfehler?). Wenn du verstehst wie eine Session funktioniert, sollte dir klar sein was da passiert und wieso derjenige nur mit dem Zurück-Button wieder auf den geschützten Inhalt kommt. (Tip: session_close() beendet die Session nicht 100%. Die Daten auf dem Server sind sehr wahrscheinlich immernoch vorhanden. ein erneuter Aufruf mit alten Daten führt also zur Wiederbelebung der Session. -> Sessiondaten löschen bzw leeren bei bzw vor dem session_close.) Also wie gesagt mein PHP Code funktioniert! Es gibt auch kein Sicherheitsproblem. Das es zum Sicherheitsfehler kam ja nur wo ich probiert habe den Code umzustellen, damit es keine Fehlermeldung gibt. Und da hab ich gesehen wenn ich den Code über den JavaScript stehen habe geht es. Also hab ich den JavaScript runtergenommen. Hier mein PHP-Code, kein Verständnisfehler: <? session_start(); include 'sessionhelpers.inc.php'; if (logged_in()) { echo '<area href="http://forum.fachinformatiker.de/skript-webserverprogrammierung/logout.php" shape="rect" coords="1, 0, 87, 29">'; } else { header('Location:index.htm'); } ?>[/PHP] Bearbeitet 11. Juni 2008 von Godfather_d Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 11. Juni 2008 Autor Teilen Geschrieben 11. Juni 2008 (bearbeitet) Also ich sehe in deinem 1. Post überall nur "Java" aber kein einziges mal "JavaScript" stehen. Und Aiun meinte genau dasselbe wie ich. Guck bitte in meinen ersten Post. Hier der Code: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Lexikon</title> <!-- JavaScript --> <script type="text/javascript" src="Java_Menu_Buttons/jquery-1.2.2.pack.js"></script> <script type="text/javascript" src="Java_Menu_Buttons/ddaccordion.js"> </script> <script type="text/javascript"> ddaccordion.init({ //top level headers initialization headerclass: "expandable", //Shared CSS class name of headers group that are expandable contentclass: "categoryitems", //Shared CSS class name of contents group collapseprev: true, //Collapse previous content (so only one open at any time)? true/false defaultexpanded: [0], //index of content(s) open by default [index1, index2, etc]. [] denotes no content animatedefault: false, //Should contents open by default be animated into view? persiststate: true, //persist state of opened contents within browser session? toggleclass: ["", "openheader"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"] togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs) animatespeed: "normal", //speed of animation: "fast", "normal", or "slow" oninit:function(headers, expandedindices){ //custom code to run when headers have initalized //do nothing [/PHP] Daraufhin Auin: Lektion Nr 1 im Allgemeinen, intergalaktischen Grundregelwerk des Internets *g* Java != Javascript Daraufhin ich: thx und habe seit dem nur Java geschrieben! Edit: Ach das meinst du. Wie sollte ich sonst schreiben Javascript Navi? Naja es hat sich wie gesagt erledigt paar missverständnise und langsam wird der Thread undurchschaubar. Das wars von mir Adieu und Sayonara! Bearbeitet 11. Juni 2008 von Godfather_d Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 11. Juni 2008 Teilen Geschrieben 11. Juni 2008 Das in deinem Quelltext "JavaScript" steht dürfte ja klar sein, sonst würde es ja auch nicht funktionieren. Ich rede von dem Text den su selber in dem Post geschrieben hast, und da steht seit anfang an schon "Java" über all. Und da auch keine Information angehängt wurde, dass du den text editiert hast, kann es schwerlich sein, dass du erst damit angefangen hast, nachdem du Aiuns Post falsch verstanden hast. Weil Aiun hat wie gesagt genau dasselbe geschrieben wie ich, "Java != JavaScript" was übersetzt einfach nur heißt, dass Java nicht gleich zu setzen ist mit JavaScript, weil es zwei Grundverschiedene Technologien sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Godfather_d Geschrieben 11. Juni 2008 Autor Teilen Geschrieben 11. Juni 2008 Das in deinem Quelltext "JavaScript" steht dürfte ja klar sein, sonst würde es ja auch nicht funktionieren. sind. Das <!-- JavaScript --> wurde von mir auskommentiert. Und würde auch ohne funktionieren. Adieu und Sayonara! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.