PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
[PHP]Was ist falsch ?
Beitrag
<blockquote data-quote="ekeih" data-source="post: 1646196"><p><strong>AW: [PHP]Was ist falsch ?[/b]</strong></p><p><strong></strong></p><p><strong>Auf den ersten Blick fällt mir jetzt erstmal auf, dass du dich zweimal mit dem selben Benutzer zur Datenbank verbindest ohne die Verbindung zwischendurch zu beenden. Da könnte ich mir vorstellen, dass das so nicht funktioniert.</strong></p><p><strong>[php]$connection = mysql_connect($host,$dbuser,$dbpass);</strong></p><p><strong>$db = mysql_select_db($dbname,$connection);[/php]Das reicht einmal.</strong></p><p><strong></strong></p><p><strong></strong></p><p><strong>[php]$name = $_POST[username];</strong></p><p><strong>$pass = $_POST[password];</strong></p><p><strong>$pass_conf = $_POST[pass_conf];</strong></p><p><strong>$email = $_POST[email];</strong></p><p><strong>$ip = $_POST[ip];[/php]Jenseits deiner Frage würde ich dir mal einen Blick ins PHP-Manual über Sicherheitsabfragen bei der Formularauswertung empfehlen. "htmlspecialchars" wäre hier ein möglicher Suchbegriff <img src="/styles/default/xenforo/smilies/zwinker.gif" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /> In deiner jetzigen Version kann der Benutzer dir jede Menge PHP- oder Javascriptcode über dir Formularfelder unterjubeln. Entsprechende "Programmiersprachenbefehle" können aber per PHP gefiltert werden.</strong></p><p><strong>Für dich zu Hause spielt das erstmal keine Rolle, aber wenn du das Skript von anderen Leuten benutzen lässt, musst du immer davon ausgehen, dass sie "böse" sind <img src="/styles/default/xenforo/smilies/zwinker.gif" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /> Nur als Tipp am Rande.</strong></p><p><strong></strong></p><p><strong>[php]$_SERVER[...][/php]Soweit ich weiß wird da auch aus Sicherheitsgründen von abgeraten. Die genaue Begründung kann ich dir da aber nicht nennen.</strong></p><p><strong></strong></p><p><strong></strong></p><p><strong>Ich hoffe du verzeihst mir, dass sich meine Antwort nicht "nur" auf deine Frage bezieht...ich will dir nur helfen<img src="/styles/default/xenforo/smilies/zwinker.gif" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /></strong></p><p><strong></strong></p><p><strong>lg</strong></p><p><strong>ekeih</strong></p><p><strong></strong></p><p><strong></strong></p><p><strong>EDIT:</strong></p><p><strong></strong></p><p><strong>[php]</strong></p><p><strong>if($name == false || $pass == false || $pass_conf == false || $email == false){</strong></p><p><strong>echo "Bitte Trage alles Richtig ein";</strong></p><p><strong>};</strong></p><p><strong></strong></p><p><strong>if($pass != $pass_conf){</strong></p><p><strong>echo "Die passwörter stimmen nicht!";</strong></p><p><strong>}else {</strong></p><p><strong>$connection = mysql_connect($host,$dbuser,$dbpass);</strong></p><p><strong>$db = mysql_select_db($dbname,$connection);</strong></p><p><strong>$sql = "INSERT INTO user(username,passwort,email,ip) VALUES($name, $pass, $email, $ip)";</strong></p><p><strong>$result = mysql_query($sql);</strong></p><p><strong>echo "Danke für die anmeldung";</strong></p><p><strong>};</strong></p><p><strong>[/php]Achja, wenn der Benutzer die Passwörter korrekt eingibt, aber die Passwörter übereinstimmen, wird der else-zweig trotzdem ausgeführt.</strong></p></blockquote><p></p>
[QUOTE="ekeih, post: 1646196"] [b]AW: [PHP]Was ist falsch ?[/b] Auf den ersten Blick fällt mir jetzt erstmal auf, dass du dich zweimal mit dem selben Benutzer zur Datenbank verbindest ohne die Verbindung zwischendurch zu beenden. Da könnte ich mir vorstellen, dass das so nicht funktioniert. [php]$connection = mysql_connect($host,$dbuser,$dbpass); $db = mysql_select_db($dbname,$connection);[/php]Das reicht einmal. [php]$name = $_POST[username]; $pass = $_POST[password]; $pass_conf = $_POST[pass_conf]; $email = $_POST[email]; $ip = $_POST[ip];[/php]Jenseits deiner Frage würde ich dir mal einen Blick ins PHP-Manual über Sicherheitsabfragen bei der Formularauswertung empfehlen. "htmlspecialchars" wäre hier ein möglicher Suchbegriff ;) In deiner jetzigen Version kann der Benutzer dir jede Menge PHP- oder Javascriptcode über dir Formularfelder unterjubeln. Entsprechende "Programmiersprachenbefehle" können aber per PHP gefiltert werden. Für dich zu Hause spielt das erstmal keine Rolle, aber wenn du das Skript von anderen Leuten benutzen lässt, musst du immer davon ausgehen, dass sie "böse" sind ;) Nur als Tipp am Rande. [php]$_SERVER[...][/php]Soweit ich weiß wird da auch aus Sicherheitsgründen von abgeraten. Die genaue Begründung kann ich dir da aber nicht nennen. Ich hoffe du verzeihst mir, dass sich meine Antwort nicht "nur" auf deine Frage bezieht...ich will dir nur helfen;) lg ekeih EDIT: [php] if($name == false || $pass == false || $pass_conf == false || $email == false){ echo "Bitte Trage alles Richtig ein"; }; if($pass != $pass_conf){ echo "Die passwörter stimmen nicht!"; }else { $connection = mysql_connect($host,$dbuser,$dbpass); $db = mysql_select_db($dbname,$connection); $sql = "INSERT INTO user(username,passwort,email,ip) VALUES($name, $pass, $email, $ip)"; $result = mysql_query($sql); echo "Danke für die anmeldung"; }; [/php]Achja, wenn der Benutzer die Passwörter korrekt eingibt, aber die Passwörter übereinstimmen, wird der else-zweig trotzdem ausgeführt.[/b] [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 7, ▼ = 3, ◇ = 2 und die Summe von ▲ und ▼ durch ◇ geteilt wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
[PHP]Was ist falsch ?
Oben