REM ## تحويل عدد صحيح طويل
وظيفة (S ، افتراضي)
ifisnumeric (s) و <> "" ثم
tonum = clng (s)
آخر
tonum = الافتراضي
Endif
الوظيفية
REM ## تحويل بيان SQL
FunctionToSQL (STR)
ifisnull (str) thstr = ""
tosql = استبدال (str ، "'' '،"' '' ')
الوظيفية
مثال:
Dimsql
Dimsterwhere ، strname ، تنوي
StrName = TOSQL (طلب ("مستخدم"))
NEETAGE = TONUM (طلب ("العمر") ، 20)
SQL = "SELECT*from [user]" & _
"حيث [العمر]>" & strname & _
"و [username] = '' '& intage &"' ''
بشكل عام ، من خلال النظر في وظيفتين أعلاه ، يمكن القضاء على هجمات حقن SQL! إذا كنت تعتقد أنه من الضروري ، فيمكنك إضافة بديل لـ CHR (0) وتغيير وظيفة TOSQL إلى ما يلي:
FunctionToSQL (STR)
ifisnull (str) thstr = ""
str = استبدال (str ، chr (0) ، "")
tosql = استبدال (str ، "'' '،"' '' ')
الوظيفية
ملاحظة أيضا:
**************************************************************************
اكتشف الوظائف المقدمة من الخارج
وظيفة checkurlrefer ()
Dimstrlocalurl ، Inturllen ، Strurlrefer
strlocalurl = "http://127.0.0.1"
Inturllen = Len (Strlocalurl)
strurlrefer = lace (request.servervariables ("http_referer") و "")
"اكتشاف ما إذا كانت الصفحة السابقة تأتي من Strlocalurl
ifleft (strurlrefer ، inturllen) = strlocalurlthen
checkurlrefer = صحيح
آخر
checkurlrefer = false
Endif
الوظيفية
**************************************************************************
يمكن أن تساعدك هذه الوظيفة على مقاومة اختبارات حقن SQL الخارجية ، فقط اتصل بها على رأس الصفحة.
اجعل برنامج ASP أكثر أمانًا مع وظيفتين صغيرتين بسيطتين!
مرحبًا بك لتصحيحني (يرجى كتابة طريقة تجاوز هاتين الوظيفتين)!
صفحات المناقشة ذات الصلة:
http://community.csdn.net/expert/topicview.asp؟id=3585010
http://community.csdn.net/expert/topicview.asp؟id=3582230
http://community.csdn.net/expert/topic/3589/3589480.xml؟temp=.4866449
//////////////////////////222222222070
DIMQS ، ERRC ، III
qs = request.servervariables ("query_string")
Dimnothis (18)
لا شيء (0) = "Netuser"