Ankündigung

Einklappen
Keine Ankündigung bisher.

Überprüft nicht die Session Warum?

Einklappen

Unconfigured Ad Widget

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überprüft nicht die Session Warum?

    Hey hey ich hoffe ihr könnt mir helfen.
    habe ein kleines tut benutzt und ja aber irgendwie prüft die datei nicht die Session.

    Ohne Login kann ich trotzdem meinen Thread somit Senden.

    Hier mal mein Code

    Danke im vorraus


    PHP-Code:
    <?php
    include("scripts.inc");
    if(!isset(
    $_SESSION['loggedin'])) header("Location: login.php");
    if(isset(
    $_POST['submit']))
    {
        
    $title $_POST['title'];
        
    $text $_POST['text'];
        if(
    $title != "" and $text != "")
        {
            
    $date date("Y-m-d H:i:s");
            
    mysql_query("INSERT INTO `threads`
            (`title`, `user_id`, `datetime`, `closed`, `wichtig`)
            VALUES
            ('
    $title', '$uid', '$datetime', '0', '0')
            "
    );
            
    $topic_id mysql_insert_id();
            
    mysql_query("INSERT INTO `posts`
            (`user_id`, `text`, `date`, `topic_id`)
            VALUES
            ('
    $uid', '$text', '$date', '$topic_id')
            "
    );
            
    // Die folgende Zeile wird uns bei Erfolg zum gerade erstellten
            // Thread weiterleiten. Die Threadseite werden wir später
            // programmieren.
            
    header("Location: showthread.php?thread=$topic_id");
        }
        else
        {
            
    $error_l true;
        }
    }

    if(
    $error_l) echo "Bitte alle Felder ausfüllen!";

    ?>

    <form action="newthread.php" method="post">
    Titel des Threads:<br />
    <input type="text" name="title" />
    Text:<br />
    <textarea name="text"></textarea><br />
    <input type="submit" name="submit" value="Thread erstellen" />
    </form>


  • #2
    - Der Location-Header benötigt vollständige URLs
    - ein exit wäre sinnvoll
    - session_start ? Wozu eigentlich, wa?
    - in scripts.inc steht -- was nochmal?
    usw. usw.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Kleiner Hinweis am Rande: SQL Injection Gefahr

      Kommentar


      • #4
        Ja sorry da ich mich nicht sogut auskenne frage ich ja hier in php.de

        Deshalb frage ich ja genau an was dies liegt

        Kommentar


        • #5
          Das steht in der script.inc


          PHP-Code:
          <?php

          mysql_connect
          ("+++++""++++++""+++++");
          mysql_select_db("++++++");

          ?> 


          <?php



          session_start
          ();
          /* Im folgenden werden einige wichtige Variablen definiert, die auf jeder Seite verwendet werden, wenn
          der Benutzer eingeloggt ist. Die genaue Bedeutung wird später erklärt. */

          if(isset($_SESSION['loggedin']))
          {
              
          $uid $_SESSION['userID'];
              
          $user_query mysql_query("SELECT * FROM `users`
              WHERE `user_id` = '
          $uid'");
              
          $user mysql_fetch_object($user_query);
              if(
          $user->mod == 1$mod true;
          }

          ?> 
          <?php

          function datumformat($datum)
          {
              
          $jahr substr($datum04);
              
          $monat substr($datum52);
              
          $tag substr($datum82);
              
          $datum $tag.".".$monat.".".$jahr;
              return 
          $datum;
          }

          function 
          getstringuserid($id)
          {
              
          $row = @mysql_fetch_object(@mysql_query("SELECT * FROM `users` WHERE
              `user_id` = '
          $id'"));
              
          $id $row->username;
              return 
          $id;
          }

          function 
          setread($topic$user)
          {
               
          $anz = @mysql_result(@mysql_query("SELECT COUNT(*) FROM `read_posts`
              WHERE `topic_id` = '
          $topic' and `user_id` = '$user'"),0);
               if(
          $anz == 0)
               
          mysql_query("INSERT INTO `read_posts` (`topic_id`, `user_id`)
              VALUES ('
          $topic', '$user')");
          }

          function 
          setunread($topic)
          {
              
          mysql_query("DELETE FROM `read_posts` WHERE `topic_id` = '$topic'");
          }

          function 
          bbcodes($text)
          {
              
          $text preg_replace("#\[img\](.*)\[/img\]#""<img src=\"$1\" />"$text);
              
          $text preg_replace('#\[b\](.*)\[/b\]#si','<b>$1</b>'$text);
              
          $text preg_replace('#\[i\](.*)\[/i\]#si<i>$1</i>'$text);
              
          $text preg_replace("#\[url=(.*)\](.*)\[/url\]#si""<a href=\"$1\" target=\"_blank\">$2</a>",
              
          $text);
              
          $text preg_replace("#\[url\](.*)\[/url\]#si""<a href=\"$1\" target=\"_blank\">
              $1</a>"
          $text);
              
          $text preg_replace(array("#\[quote\](.*?)#si""#\[/quote\]#"),
              array(
          "<div class=\"quote\"><i>Zitat</i><br />$1""</div>"), $text);
              
          $text preg_replace(array("#\[quote=(.*?)\](.*?)#si""#\[/quote\]#"),
              array(
          "<div class=\"quote\"><i>$1 schrieb:</i><br />",
              
          "$2</div>"), $text);
              return 
          $text;
          }


          ?>

          Kommentar


          • #6
            Siehe #2, Unterpunkt 2. header() beendet die Verarbeitung des aktuellen Skriptes nicht.

            Gruß Jens

            Kommentar


            • #7
              Zitat von ragtek Beitrag anzeigen
              Kleiner Hinweis am Rande: SQL Injection Gefahr
              Bevor das Untergeht. WICHTIG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
              www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
              Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih

              Kommentar


              • #8
                Ist zwar richtig, ich fürchte jedoch, unser DJ hat noch ganz andere Probleme..
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  PHP-Code:
                  <?php
                  //...
                  mysql_select_db("++++++");
                  ?> 


                  <?php
                  session_start
                  ();
                  //...
                  Warum wird da der Tag geschlossen und gleich wieder geöffnet ?
                  Vor session_start() darf keine Ausgabe stattfinden (und zwischen den 2-Tags sind vermutlich Leerzeichen + Zeilenumbrüche) ^^

                  Grüße
                  Signatur:
                  PHP-Code:
                  $s '0048656c6c6f20576f726c64';
                  while(
                  $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

                  Kommentar

                  Lädt...
                  X