Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 3928|Atsakyti: 3

[Šaltinis] EF 6 vykdo vietinius SQL sakinius, parametrų injekcijos problemas

[Kopijuoti nuorodą]
Paskelbta 2023-06-14 21:14:48 | | | |
Reikalavimai: Projektas naudoja EF ORM sistemą duomenų bazei pridėti, ištrinti, modifikuoti ir tikrinti, tačiau susidūrus su sudėtingomis užklausomis, gali būti neįmanoma naudoti Linq ir Lambda geresnėms užklausoms, todėl turime naudoti EF 6, kad galėtume vykdyti vietinius SQL sakinius užklausoms.

Neapdorota SQL užklausa (EF6):Hipersaito prisijungimas matomas.

Kadangi SQL sakiniuose turi būti sąlyga where, parametro reikšmė perduodama per URL parametrą.


Pirma, mūsų SQL sakinys naudoja eilučių sujungimą užklausai, kaip nurodyta toliau:



Kodas yra toks:

Duomenų bazės vykdomus SQL sakinius galite pamatyti taip:

SELECT Name FROM [Klasifikacija] WHERE Name = 'Mobiliųjų įrenginių kūrimas'; pasirinkite 1; --'

SlinktiSQL sakinių sujungimo būdas yra injekcijos pavojus

Mes modifikavome kodą, kad išvengtume SQL injekcijos atakų, parametrizuodami užklausas, ir kodas yra toks:



exec sp_executesql N'SELECT Name FROM [Klasifikacija] WHERE Name = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; pasirinkite 1; --'




Užuot tiesiogiai naudojęs sujungimą, EF Core konvertuoja jį į parametrizuotus SQL sakinius. Nuorodos yra šios:

EF Core serija (5) vykdo SQL sakinius arba rodinius, saugomas procedūras
https://www.itsvse.com/thread-9565-1-1.html

(Pabaiga)





Ankstesnis:Įžvalga: Pamačiau tinklaraštininko parašą iš tinklaraščio sodo
Kitą:Naudokite SQLMAP įsiskverbimo įrankį SQL injekcijos testavimas
 Savininkas| Paskelbta 2023-06-17 11:11:50 |
Išbandykite SQL injekcijos testavimą naudodami SQLMAP infiltracijos įrankį
https://www.itsvse.com/thread-10611-1-1.html
 Savininkas| Paskelbta 2023-06-30 20:47:17 |
Stenografijos forma

 Savininkas| Paskelbta 2025-01-02 12:10:38 |
[Tikroji kova]. NET/C# SQL užklausų generatorius, pagrįstas sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com