Eingaben /Session Variablen escapen? Wie?

Hi ihr Oxxen;-)

bestimmt ne simple Frage und ne simple Antwort, aber ich habe hier nichts im Forum gefunden.
Mit der DB-Ansprache bin ich grundsätzlich nicht so vertraut, weiß aber dass die Eingaben gestript, escaped und geslasht werden müssen.

Bestimm hat Oxid da was an Board, aber ich finde nix.

Ich will folgendes tun: (Das wird später noch auf Plausibilität geprüft, ob es Zahlen sind, usw. und es wird in ein Modul gepackt:-)

$dPriceTo = oxSession::getVar( 'preisvon' );
$dPriceFrom = oxSession::getVar( 'preisbis' );
	
        $sSelect = "SELECT $sFields FROM $sO2CView as oc left join $sArticleTable
                    ON $sArticleTable.oxid = oc.oxobjectid
                    WHERE ".$this->getBaseObject()->getSqlActiveSnippet()." 
                    and oc.oxcatnid = ".$oDb->quote($sCatId)." and $sArticleTable.oxvarminprice >=".(double)$dPriceFrom." and $sArticleTable.oxvarminprice <=".(double)$dPriceTo." $sFilterSql GROUP BY oc.oxcatnid, oc.oxobjectid ORDER BY $sSorting oc.oxpos, oc.oxobjectid ";

Jetzt habe ich natürlich keinen Bock auf eine Sql-Injection und würde das gerne vorher escapen, finde aber keine Funktion in OXid, die das tut…

Hat da jemand einen Tipp?

Grüße

hb_mf

Wenn du etwas in die DB schicken willst dann machst du das escape/quoting etc. per:

oxDb::GetDb()->quote($meineVar)

Das wird auch so mit der $sCatId in deinem Beispiel gemacht. POST/GET Variablen die du per oxConfig::getParameter holst werden auch gleich vorbereinigt (aber nicht gequotet).

Hi Aggrosoft,

Danke für die Info. Das heißt, im Prinzip muß man sich bzgl. eigener Sessionvariablen keine Sorgen bzgl. Sicherheit machen?

Grüße

Solang du mit oxSession arbeitest und nicht direkt auf dem $_SESSION Array und immer schön jeden Parameter durch die quote Funktion lässt ist alles gut.