الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة sql injection

بدأه عماد خطيب في 5 مايو 2012 · 3 رد · 735 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني ,

عندي مشكلة في موقعي تتلخص بالتالي:

في كل مرة تمر محركات البحث(bing + google) على موقعي ابدأ باستقبال errors من الموقع مثل :

1. Column .... does not belong to table MyTable.

2. Referrer: Request.UrlReferrer is Nothing

3. A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An established connection was aborted by the software in your host machine.)

4. xxx is neither a DataColumn nor a DataRelation for table MyTable

5. Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

طبعا هذه ال columns كلها موجودة ولا تحصل هذه الاخطاء في الوضع الطبيعي الا عند مرور جوجل على الموقع وبالذات في الصفحات التي يوجد فيها query string وبحسبه يجري ال select في الصفحة .

انا استخدم sql server 2008 + vb.net واقوم بالاستعلام بهذه الطريقة :

Dim sql As String = " SELECT * from site_articles where articleid=" & articleid

واستخدم SqlCommand + SqlDataAdapter لارجاع dataset واغلق ال connection بعد كل استعلام

انا اشك ان المشكلة هي sql injection وانه يجب اضافة شيء ما الى ال select علما اني لا استخدم stored procedures .

هل لديكم فكرة ؟

بوركتم

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

#2

وعليك السلام

أستخدم البارمتر

#3

ممكن في احد ما يحاول اختراق الموقع ولا اعتقد بسبب محركات البحث

اقتباس
أستخدم البارمتر

كلام صحيح 100%

الطريقة باختصار كمايلي (وارجو ان يكون عندك علم بكيفية استخدام command):

Dim sql As String = " SELECT * from site_articles where articleid= @articleid "

Dim cmd1 As New SqlCommand(sql  ) 
cmd1.Parameters.AddWithValue("@articleid", articleid)
....

تم تعديل هذه المشاركة بواسطة TareqVB في 6 مايو 2012 في 13:44

#4

لا اخ طارق..

انا متاكد ام الشيء من محركات البحث لانه يصلني ايمايلات الاخطاء من السيرفر. وفيها انا افصل بالضبط من اين جاء الطلب ..

فمثلا بعض الاخطاء تصل من :

http://www.bing.com/bingbot.htm

وبعضها من :

http://www.facebook.com/externalhit_uatext.php

وبعضها من :

http://www.google.com/bot.html

على العموم ساجرب طريقة البارامتر في ال queries بالرغم من اني افحص كل القيم بشكل دقيق قبل ارسالها الى ال query

بوركت

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

مواضيع مشابهة