Fórum ›PHP

Alkalmazás kalóriákra

a professzor azt mondta nekem, hogy a munkám nem jó, mivel SQL injekció van,

Alkalmazás kalóriákra

de az egyes függvényekben htmlspecialchar segítségével kezelt adataim vannak, de megköveteli, hogy a bindValue-on keresztül írjam meg.
Meg tudnád magyarázni nekem a különbséget?

# 1 Diák
A htmlspecialchars () függvény nem oldja meg a problémát, csak az adatbázis-karaktereket okozza, amelyek nem tartoznak hozzá.

Nem használom a bindValue () metódust, csak az execute () metódusra van szükségem, amely IMHO-val tisztább és jobban működik.

A feltételt külön adnám át, a példád könnyen akaratlanul is törli az egész táblázatot. Inkább használja

Mit keres ott csúnya "globális"?

htmlspecialchars - elkerüli a html értékét
bindValue - megkerüli a pdo értékét (és valószínűleg megteszi és végrehajtja, én kicsit másképp csinálom); nem kell használnia a bindvalue értéket, ha más módon kerüli el, ami nem sok minden történik az iskolában, de

urlencode - kitörli az URL értékét (egyéb funkciók)

De néha előfordul, hogy az sql lekérdezést ott szeretné megkapni. A felhasználó nem adhatja meg. Vagy legalább jelszóval kell megtennie.

Ezek a feltörések lehetnek szándékosak vagy tévesek. Amikor kilép, tévedésből odaírhatja a fájlt, de szeretnék még egy kódot feltenni, szükségem van egy kódra a bejelentkezési adatok tárolásához
- rögzítse a billentyűleütést
- 5 másodpercenként küldje el az URL-re

# 5 Péter
Elképesztő, mintha az SQL és a HTML egy ilyen halomba keveredne. Nagy problémaforrás.

# 7 Készlet
Nem értem. Mit kommentál konkrétan?

Most próbáltam bemutatni, hogyan kell használni, és világosabbnak kell lennie belőle, miért hibás az eredeti kódja, és hogy a függvényt valami egészen másra használják. Nekem személy szerint vannak menekülési funkcióim. Talán befogom az órával. Nagyon nem szeretem a php-t, amikor el akarok menekülni valamitől, keresse meg, hogy a szerzők mit neveztek el a függvénynek:) És az esetek 90% -ában nem tudok lekérdezést összeállítani kötéssel vagy végrehajtással. Sajnos az ügyfél olyan feltételekkel állhat elő, hogy nekem a karakterláncként kell összeállítanom a lekérdezést. Tehát akkor az escapeSqlKey, escapeSqlValue értéket használom, amelyet átneveztem. Ehhez hasonlóan vannak escapeUrlValue, escapeHtmlValue, escapeJsValue, escapeRegExpValue. (esetleg érték nélkül, pac az sql mellett mindig érték:))