Login- DB Einträge vergleichen

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

  • #16
    Ich habe die Fehlermeldung gepostet und den code in tags gesetzt.... was sonst noch????????????????????????????????????????????????????
    -Am Anfang war das Wort-

    Ich habe fertig mit Abi ^^

    Kommentar


    • #17
      Deine Tastatur ist defekt. Kein Grund hier motzig zu werden. Ich meine den mit den Strings richtig trennen und die Sache mit dem Error-Reporting.

      Kommentar


      • #18
        Sorry werd hier grad emotional.. ^^ Ich bin sauer auf mic hselbst.. weil ichs nich kapier.. Aber Username ist doch gar kein String sondern der NAme der Spalte.

        Achso... du meinst den $_POST[username] ^^ Und in welchen Situationen muss ich nur den key in '' schreiben? Also so hier : $_POST['username'] ?
        Zuletzt geändert von Lexus_Ks; 07.06.2006, 21:42.
        -Am Anfang war das Wort-

        Ich habe fertig mit Abi ^^

        Kommentar


        • #19
          Ich jede ja auch nicht von "Username", sondern von deinem Usernamen. Und der ist ein String und sollte auch als solcher gekennzeichnet werden.

          Achso... du meinst den $_POST[username]
          ja

          Und in welchen Situationen muss ich nur den key in '' schreiben?
          Den Key/Index musst du immer in anführungszeichen schreiben. So wie es in dem genannten Thread steht.

          Kommentar


          • #20
            Aber hier habe ich alles in ' ' geschrieben ( '$_POST[username]' ) und es funktioniert... und ich habs jetzt eben schnell ausprobiert: Wenn ich es so schreibe: $_POST['username'] funktioniert es nicht -_-
            -Am Anfang war das Wort-

            Ich habe fertig mit Abi ^^

            Kommentar


            • #21
              ja, würdest du die beiden threads mal verinnerlichen...

              Kommentar


              • #22
                Ich kapier des nit -___- das is sehr durcheinander

                Ich merk mir einfach wie ich es das nächste mal konkret an so einer Stelle mache.

                Ich habe noch eine Frage..... Wenn ich mehrere Funktionen verschachtel:

                Funtkion1(Funktion2(Funktion3($variable)));

                Wird dann beim Parsen zuerst die äußerste Klammer abgearbeitet und dann geht PHP nach innen alle Funktionen durch, oder ist es umgekehrt?
                -Am Anfang war das Wort-

                Ich habe fertig mit Abi ^^

                Kommentar


                • #23
                  natürlich umgekehrt.

                  hätte ein test auch schnell ergeben.

                  Kommentar


                  • #24
                    Also die registrierung samt DB Eintragung funktioniert jetzt. Darf ich sie hier mal posten, damit ihr sie auf evtl. Sicherheitslücken untersucht?
                    -Am Anfang war das Wort-

                    Ich habe fertig mit Abi ^^

                    Kommentar


                    • #25
                      posten darfste gerne.

                      aber denk an die breite oder knalls in den anhang.

                      Kommentar


                      • #26
                        Also habe hier mal die Datei, die mein Formular verarbeitet und in die DB schreibt. Wäre toll wenn ihr mir sagt, was da noch besser gemacht werden könnte und was verbessert werden MUSS (wegen der sicherheit usw).

                        Danke

                        PS: Seht mal davon ab, dass in der hochgeladenen Datei noch die Arrayausgabe drin ist ^^
                        Angehängte Dateien
                        Zuletzt geändert von Lexus_Ks; 07.06.2006, 23:06.
                        -Am Anfang war das Wort-

                        Ich habe fertig mit Abi ^^

                        Kommentar


                        • #27
                          Deine ersten Abfragen hast du nicht gegen SQL Injection abgesichert.

                          Und bei den Updates nutzt du dann addslashes statt dem (verflixt, wie oft muss man das hier eigentlich noch erzählen?) dafür vorgesehenen mysql_real_escape_string.

                          Außerdem verunstaltest du die Daten noch vor dem Einfügen in die DB mit htmlspecialchars - ist idR. unsinnig, Daten werden jeweils nur für den aktuellen Kontext behandelt. Und der Kontext "HTML" ist der DB vollkommen wurscht, der kommt erst bei der Ausgabe der Daten ins Spiel.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #28
                            Deine ersten Abfragen hast du nicht gegen SQL Injection abgesichert.
                            Okay SQL Injection sagt mir gar nichts, dass ist dann wohl das nächste Thema mit dem ich mich beschäftigen werde...

                            Und bei den Updates nutzt du dann addslashes statt dem (verflixt, wie oft muss man das hier eigentlich noch erzählen?) dafür vorgesehenen mysql_real_escape_string.
                            Woher soll ich diese Funktion kennen? Meinst du ich lese mir eine Referenz mit allen Befehlen durch die es gibt? Die lerne ich eben in so Situationen wie dieser hier ^^ Danke

                            Aber ich habe es ,um mich zu verteidigen, so im PHP Quake Tutorial gelernt. Zuerst Stripslashes() und dann umgekehrt mir addslashes ^^ Wo ist der unterschied zwischen addslashes und mysql_real_escape_string? Benutze ich das auch in Verbindung mit stripslashes?

                            Außerdem verunstaltest du die Daten noch vor dem Einfügen in die DB mit htmlspecialchars - ist idR. unsinnig, Daten werden jeweils nur für den aktuellen Kontext behandelt. Und der Kontext "HTML" ist der DB vollkommen wurscht, der kommt erst bei der Ausgabe der Daten ins Spiel.
                            Zitat aus PHP Quake

                            Doch dies ist so, wie es da steht, eine riesige Sicherheitslücke. Man darf NIE Daten aus der URL oder aus dem Formular direkt in eine Datenbank speichern lassen. Man muss die Eingaben immer prüfen und ggf. bestimmte Zeichen löschen oder bearbeiten. Denn ohne solche Überprüfungen ermöglichen wir Hacker die Möglichkeit für XSS. Deswegen müssen wir einmal die HTML-Zeichen wie < und > umwandeln. Dies machen wir mit htmlspecialchars.
                            Und ich kansn ja nur so umsetzen wie ichs lerne... Wenn mir jemand erklärt, dass es der Sicherheit nicht wehtut das wegzulassen, dann mach ichs auch, aber ich denke ich tue mir nicht weh dabei und so spare ich es mir doch bei der Ausgabe.
                            -Am Anfang war das Wort-

                            Ich habe fertig mit Abi ^^

                            Kommentar


                            • #29
                              Original geschrieben von Lexus_Ks
                              Wenn mir jemand erklärt, dass es der Sicherheit nicht wehtut das wegzulassen, dann mach ichs auch, aber ich denke ich tue mir nicht weh dabei und so spare ich es mir doch bei der Ausgabe.
                              Natürlich ist htmlspecialchars (oder htmlentities, reicht eigentlich aus) wichtig zur Absicherung, damit kein HTML- oder Javascript-Code eingefügt werden kann.
                              Aber diese Funktionen wendet man idR. bei der Ausgabe an.
                              Deine Datenbank stört HTML nicht im geringsten, also gibt es kaum einen Grund, es beim Einfügen in diese zu entschärfen. Hat den Vorteil, dass du die Daten in der DB immer noch original vorliegen hast, wenn du sie mal bearbeiten willst - und dich dann nicht mit kodierten Sonderzeichen rumschlagen musst.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar


                              • #30
                                Achso meinst du das... klaro *nachdenk* html oder java würde ja erst bei der Ausgabe tätig werden... aber jetzt überlege ich was überwiegt.... entweder das Verlangen danach, die ganze Sache im Original vorliegen zu haben oder etwa die Faulheit.... denn wenn ich es so mache wie du sagst, müsste ich es ja jedes mal einzeln dieser funktion unterziehen (jedesmal wenn ich die datenauslese)... andererseits kann man da ja auch eine Funktion schreiben -.- .. darüber muss ich mir noch einen Kopf machen.

                                Mir ist grad die Sache mit dem Addslashes und vor allem it dieser SQL Injection wichtiger. Habe mir gerade einen artikel darüber durchgelesen böse Sache ^^ Aber das dabeistehende Tutorial um sowas zu verhidnern habe ich nicht verstanden. Wenn jemand ein einfaches findet, dann sagt bitte bescheid, umegkehrt gilt das gleiche.
                                -Am Anfang war das Wort-

                                Ich habe fertig mit Abi ^^

                                Kommentar

                                Lädt...
                                X