Hirdetés
Új hozzászólás Aktív témák
-
Taci
addikt
Sziasztok!
Az
sqlsrv_queryés abind_paramhasználata "kizárja egymást"?Eredetileg így néz ki egy lekérdezésem előkészítése (példa):
$sql = "INSERT INTO " . $table . " (id, name, date) VALUES (?,?,?)";$stmt = $conn->prepare($sql);$stmt->bind_param("iss", $id, $name, $date);De most, ahogy olvasgatom, hogy kell megvédeni egy PHP-alapú weboldalt, és rátaláltam az SQL Injection Attacks-re, tippnek a
sqlsrv_queryhasználatát látom.És ha jól látom, ez alapján a fenti példával ez így nézne ki:
$sql = "INSERT INTO " . $table . " (id, name, date) VALUES (?,?,?)";$params = array($id, $name, $date);$stmt = sqlsrv_query( $conn, $sql, $params);- A bind_param az ugye akkor kell, ha gyakori a lekérdezés, mert így hatékonyabb. De akkor ezek szerint ezzel is kijátszható a kód (SQL Injection Attack)?
- Ha pedig átváltok az ajánlott sqlsrv_query-re, akkor bár védve leszek az injection-támadások ellen, de bukom a bind_param (prepared statement) általi hatékonyságot?Vagy hogy van ez? Lehet/kell ezeket "mixelni"? Vagy elég csak az egyik, hogy mindkét előnyt (hatékonyság + védelem) megtarthassam?
Köszi!
Amúgy próbáltam az itt említett példán keresztül "megtámadni" az adatbázis, de sehogy sem fogadta el a Drop Table kódrészt (saját adatbázisra szabva, persze). Szóval nem tudom kipróbálni, melyik a jó megoldás.
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! MSI B550M R7 5800X3D 32GB DDR4 1TB SSD RTX 4070 12GB ZALMAN M4 A-DATA 750W
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- CORSAIR K100 AIR
- LG 27UN880-B - 27" IPS ERGO - 3840x2160 4K - 60Hz - DisplayHDR 400 - USB Type-C - AMD FreeSync - Mac
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


