Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 3928|Svar: 3

[Kilde] EF 6 udfører native SQL-sætninger og problemer med parameterinjektion

[Kopier link]
Opslået på 14/06/2023 21.14.48 | | | |
Krav: Projektet bruger EF ORM-rammen til at tilføje, slette, ændre og tjekke databasen, men i lyset af komplekse forespørgsler er det måske ikke muligt at bruge Linq og Lambda til bedre forespørgsler, så vi er nødt til at bruge EF 6 til at udføre native SQL-sætninger til forespørgsler.

Rå SQL-forespørgsel (EF6):Hyperlink-login er synlig.

Da SQL-sætninger skal have where-betingelsen, sendes parameterværdien gennem URL-parameteren.


Først bruger vores SQL-sætning streng-sammenkædning til forespørgsler, som følger:



Koden er som følger:

Du kan se SQL-sætningerne, der udføres af databasen, som følger:

VÆLG NAVN FRA [Klassifikation] HVOR navn = 'Mobiludvikling'; vælg 1; --'

PasMåden SQL-sætninger er splejset på, risikerer injektion

Vi har modificeret koden for at forhindre SQL-injektionsangreb ved at parameterisere forespørgsler, og koden er som følger:



exec sp_executesql N'SELECT Name FROM [Classification] HVOR Name = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; vælg 1; --'




I stedet for direkte at bruge splicing, konverterer EF Core det til parameteriserede SQL-sætninger. Referencer er som følger:

EF Core Series (5) udfører SQL-sætninger eller visninger, lagrede procedurer
https://www.itsvse.com/thread-9565-1-1.html

(Slut)





Tidligere:Indsigt: Jeg så en bloggers signatur fra bloghaven
Næste:Brug SQLMAP-infiltrationsværktøjet SQL injektionstest
 Udlejer| Opslået på 17/06/2023 11.11.50 |
Test SQL-injektionstest med SQLMAP-infiltrationsværktøjet
https://www.itsvse.com/thread-10611-1-1.html
 Udlejer| Opslået på 30/06/2023 20.47.17 |
Stenografiform

 Udlejer| Opslået på 02/01/2025 12.10.38 |
[Egentlig kamp]. NET/C# SQL forespørgselsgenerator baseret på sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com