Am 01.07.2010 16:11, schrieb Christian Wolff:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 01.07.2010 12:11, schrieb Chris Bernhard:


Hi zusammen,

vielen Dank für Eure ausführlichen Antworten, jetzt bin ich wieder in
Stück weiter, sprich, folgendes teste ich jetzt und hier nochmal die
Frage, ist das nun sicher?

$clause = "p.plz LIKE '$plz' LIMIT 1 ";
$clause = $GLOBALS['TYPO3_DB']->escapeStrForLike($clause,'tableb');

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tablea p LEFT JOIN
tableb  a ON p.bd = a.bd', $clause);

Allerbeste Grüße vom Chris

Hi Chris,
das die function eescapeStrForLike
escaped lediglich die speziellen zeicen des like ausdrucks.

hier die funktions definition:
function escapeStrForLike($str, $table) {
        return preg_replace('/[_%]/','\\\$0',$str);
}

dies gibt keinen Schutz irgend einer art!!!!!!
deswegen sollst du deine paramter mit fullQuoteStr() escapen.

dein beispel code sollte dann ungefär so aussehen:

<?php
// Eingabe aus % (prozent) \% (backslash Prozent) machen.
$plz = $GLOBALS['TYPO3_DB']->escapeStrForLike($plz,'tableb');

// prozent zeichen anhängen um teil suche der plz zu ermöglichen.
$plz .= '%';

// PLZ string escapen um sich vor SQL injections zu schützen.
$plz = $GLOBALS['TYPO3_DB']->fullQuoteStr($plz,'tableb');

// query zusammen bauen und datenbank abfragen.
$clause = 'p.plz LIKE '. $plz .' LIMIT 1 ';
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*',
        'tablea p LEFT JOIN tableb  a ON p.bd = a.bd',
         $clause);


?>

gruss chris
- --
Christian Wolff // Berlin
http://www.connye.com

some projects:
http://richtermediagroup.com | http://titanic.de |
http://fairplay-homepage.de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)

iEYEARECAAYFAkwsogMACgkQIcCaXPh/JHGZwQCeJTNYX+Pr1c+Cpz6WlHisJMWK
R20AnjRiGCSazpr3b0v1QqQzo41P/i8F
=DMat
-----END PGP SIGNATURE-----

Hi Chris,

besten Dank mal wieder für Deine Antwort! Hat mir sehr geholfen, hatte
das auch schon genauso integriert, allerdings lieferte mir der Query kein Ergebnis zurück, was wohl an dem doppelten Quote innerhalb von

.plz LIKE '$plz' LIMIT 1

Entferne ich die '' funktionert das Ganze wunderbar und ist hoffentlich jetzt wirklich save. Na, sicher ist sicher ;-)

Viele Grüße vom Chris

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an