php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.08.2006, 18:55  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard frage zu mysql_real_escape_string

Die funktion trennt bei anführungszeichen den reststring ab...

aus:

Hallo mein name ist "Gerrit"

kommt in der DB nur:

Hallo mein name ist

an... irgendeine erklärung ?

PHP-Code:
<?php

$text 
'Hallo mein name ist "Gerrit"';

$query mysql_query("INSERT INTO tabelle SET id = '', text = '".mysql_real_escape_string($text)."'");

?>
__________________
keine
cytrobic ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.08.2006, 19:24  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Verwende mysql_error()
Wie groß ist das Feld in der Tabelle?
__________________
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
[...]
Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..
andy ist offline  
Alt 26.08.2006, 19:49  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

eingabe < 1000 zeichen
ein mysql_error() wird nicht gemeldet
das feld in der mysql db ist ein textfeld
__________________
keine
cytrobic ist offline  
Alt 26.08.2006, 20:02  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ähm mach doch mal

INSERT INTO tabelle (id, text) VALUES ('','".mysql.....$text)."')

...
Flor1an ist offline  
Alt 27.08.2006, 14:24  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

auch schon versucht, so hatte ichs vorher... bin am verzweifeln
__________________
keine
cytrobic ist offline  
Alt 27.08.2006, 14:47  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Gib uns doch nochmal deinen ganzen Code mit mysql_error() eingebaut und den MySQL Dump.
Flor1an ist offline  
Alt 27.08.2006, 15:13  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard

ähm... bin mir zwar nich sicher.. aber ich poste mal :P

also.. mysql_real_escape_string() wird nur bei MySql abfragen durchgefürt... Das was du dort hast.. mit INSERT.. kann man einfach net Injecten... also bringts halt nix

abfrage muesste halt heißen
PHP-Code:
<? $query "SELECT * FROM table WHERE feld1 = '".mysql_real_escape_string($var)."'";
mysql_query($query);
?>
fadass ist offline  
Alt 27.08.2006, 15:30  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Nein, myqsl_real_escape_string() kennt den Kontext nicht (außer eben die aktuelle Datenbakverbindung, die die Funktion natürlich benutzt).

Ich kann den Fehler nicht reproduzieren (außer bei einem Typ für das Feld text von VARCHAR(20) natürlich). Was hat es mit dem id='' auf sich?

Basti
Basti ist offline  
Alt 27.08.2006, 15:31  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Quatsch, die mysql_real_escape_string() Funktion kann an beliebiger Stelle aufgerufen werden, auch ohne das man etwas irgendwo hin einträgt/ausliest. Einzige Prämisse ist eine bestehende MySQL verbindung. Und man kann sehr wohl was injecten, mit einem INSERT. Wer sich nicht sicher ist, sollte es besser lassen, vom Verwenden von Sicherheitsfunktionen abzuraten.


EDIT: Zu Langsam....
andy ist offline  
Alt 27.08.2006, 20:51  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

Hab den fehler gefunden ...
Ich schick das formular an ein weiteres forumlar (hidden) als vorschauseite, da wird natürlich der value beim hiddenfeld beim erstem vorkommen von " geschlossen...

tja muss grübeln, also kein mysql_real_... problem sondern ein hausgemachtes
__________________
keine
cytrobic ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zur dauerhaften voting sperre! litterauspirna PHP Tipps 2008 19 29.05.2008 16:19
Frage zu spam bots und captcha litterauspirna PHP Tipps 2008 6 20.05.2008 23:56
Smarty frage: switch($action) PHP Tipps 2007 5 30.12.2006 18:07
Frage zu einem mySQL/php/html Konstrukt &lt;Daniel&gt; PHP Tipps 2006 5 11.07.2006 16:07
Frage zu Counter PHP Tipps 2006 1 17.02.2006 21:45
Frage zu grafiken JohnRambo PHP Tipps 2005-2 23 16.08.2005 20:57
.htaccess - Frage Stümper PHP Tipps 2005 11 30.05.2005 11:56
Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
mal ne Frage PHP Tipps 2005 7 14.04.2005 09:46
Hallo und Frage zu dynamischer Veränderung in Textfeldern. PHP Tipps 2004-2 2 27.12.2004 22:29
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
Frage zum Einfügen von Fotos PHP Tipps 2004 11 26.09.2004 14:28
[Erledigt] Frage! PHP Tipps 2004 4 27.07.2004 11:25
[Erledigt] fputs frage PHP Tipps 2004 2 16.07.2004 19:26


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.