[TYPO3-german] Crossite Scripting t3lib_div::_POST('variable')

Chris Bernhard chris at dreamride.de
Fri Jul 2 11:53:00 CEST 2010


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



More information about the TYPO3-german mailing list