ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

۱ مطلب با کلمه‌ی کلیدی «امنیت در sql server» ثبت شده است

SQL Injection

بسم الله الرحمن الرحیم

SQL Injection


در این آموزش قصد داریم در خصوص امنیت در SQL Server به صورت مختصر صحبت کنیم.
معمولا بیشتر مشتریان نگران امنیت اطلاعاتشان هستند و از تدابیری برای جلوگیری از SQL Injection صحبت می کنند. بیشتر اتفاقاتی که در خصوص SQL Injection رخ می دهد به دلیل مشکلاتی است که در SQL Server توسط طراحان پایگاه داده و برنامه نویسان انجام می شود، زیرا بیشتر طراحان اطلاعات کافی در خصوص SQL Injection ندارند و تنها نام آن را شنیده اند.
منظور از طراحان، کسانی هستند که پایگاه داده را طراحی و مدیریت می کنند که به اصطلاح به آنها DBA و یا Database Administrator گفته می شود.
SQL Injection نتیجه یک کد نویسی اشتباه است. یکی از شایع ترین دلایل وقوع SQL Injection استفاده از dynamic SQL است، بدین معنا که شما Query خود را به صورت داینامیک با استفاده از پارارمترهای ارسال شده کاربر اجرا کنید.
در این جا یک مثال ساده را بیان کرده ایم که کاربر می تواند با استفاده از ارسال پارامترهای First Name وLast Name یک Query ساده را اجرا کند.

کد خود را در یک Procedure به صورت زیر تعریف می کنیم.

USE AdventureWorks2014
GO
CREATE PROCEDURE search_first_or_last
@firstName NVARCHAR(50)
,@lastName NVARCHAR(50)
AS
BEGIN
DECLARE @sql NVARCHAR(4000)
SELECT @sql = ' SELECT  FirstName ,MiddleName, LastName' +
' FROM Person.Person WHERE 1 = 1 '
IF @firstName IS NOT NULL
SELECT @sql = @sql + ' AND FirstName LIKE ''' + @firstName + ''''
IF @lastName IS NOT NULL
SELECT @sql = @sql + ' AND LastName LIKE ''' + @lastName + ''''
EXEC (@sql)
END

ادامه مطلب...
up
ما را در گوگل محبوب کنید