عند كتابة asp، نحتاج إلى الاهتمام بمعالجة السلاسل الخاصة لمنع استخدامها من قبل المتسللين. يجب على الأصدقاء الذين يستخدمون asp الرجوع إليه.
انسخ رمز الكود كما يلي:
'===========================================================
'تحويل المحتوى لمنع وقوع الحوادث
'===========================================================
وظيفة Content_Encode(ByVal t0)
إذا كان IsNull(t0) أو Len(t0)=0 إذن
Content_Encode = ""
آخر
Content_Encode=استبدال(t0،"<"،<")
Content_Encode=Replace(Content_Encode،">"،>")
نهاية إذا
وظيفة النهاية
'===========================================================
"فك تحويل المحتوى."
'===========================================================
وظيفة Content_Decode (ByVal t0)
إذا كان IsNull(t0) أو Len(t0)=0 إذن
محتوى_فك التشفير = ""
آخر
Content_Decode=استبدال(t0،"<"،<")
Content_Decode=استبدال(Content_Decode،">"،>")
نهاية إذا
وظيفة النهاية
'===========================================================
"تصفية الشخصيات."
'===========================================================
نص مرشح الوظيفة (ByVal t0، ByVal t1)
إذا كان Len(t0)=0 أو IsNull(t0) أو IsArray(t0) ثم FilterText="":الخروج من الوظيفة
t0=تريم(t0)
حدد الحالة t1
الحالة "1"
t0=استبدال(t0,Chr(32)," ")
t0=استبدال(t0,Chr(13),"")
t0=Replace(t0,Chr(10)&Chr(10),"<br>")
t0=استبدال(t0,Chr(10),"<br>")
الحالة "2"
t0=Replace(t0,Chr(8),"")'return
t0=Replace(t0,Chr(9),"")'tab (حرف علامة التبويب الأفقية)
t0=Replace(t0,Chr(10),"")'Newline
t0=Replace(t0,Chr(11),"")'tab (حرف علامة التبويب العمودي)
t0=Replace(t0,Chr(12),"")'تغيير الصفحة
t0=Replace(t0,Chr(13),"")' مجموعة إرجاع السطر chr(13)&chr(10) من إرجاع السطر وتغذية السطر
t0=استبدال(t0,Chr(22),"")
t0=Replace(t0,Chr(32),"")'SPACE
t0=Replace(t0,Chr(33),"")'!
t0=استبدال(t0,Chr(34),"")'"
t0=استبدال(t0,Chr(35),"")'#
t0=Replace(t0,Chr(36),"")'$
t0=استبدال(t0,Chr(37),"")'%
t0=استبدال(t0,Chr(38),"")'&
t0=استبدال(t0,Chr(39),"")''
t0=استبدال(t0,Chr(40),"")'(
t0=استبدال(t0,Chr(41),"")')
t0=استبدال(t0,Chr(42),"")'*
t0=Replace(t0,Chr(43),"")'+
t0=استبدال(t0,Chr(44),"")',
t0=استبدال(t0,Chr(45),"")'-
t0=استبدال(t0,Chr(46),"")'.
t0=استبدال(t0,Chr(47),"")'/
t0=استبدال(t0,Chr(58),"")':
t0=Replace(t0,Chr(59),""';
t0=Replace(t0,Chr(60),"")'<
t0=Replace(t0,Chr(61),"")'=
t0=Replace(t0,Chr(62),"")'>
t0=استبدال(t0,Chr(63),"")'?
t0=استبدال(t0,Chr(64),"")'@
t0=استبدال(t0,Chr(91),"")'/
t0=استبدال(t0,Chr(92),"")'/
t0=استبدال(t0,Chr(93),"")']
t0=استبدال(t0,Chr(94),"")'^
t0=استبدال(t0,Chr(95),"")'_
t0=Replace(t0,Chr(96),"")'`
t0=استبدال(t0,Chr(123),"")'{
t0=Replace(t0,Chr(124),"")'|
t0=Replace(t0,Chr(125),"")'}
t0=Replace(t0,Chr(126),"")'~
حالة أخرى
t0=استبدال(t0, "&", "&")
t0=استبدال (t0، "'"، "'")
t0=استبدال(t0, """", """)
t0=استبدال (t0، "<"، "<")
t0=استبدال(t0، ">"، ">")
إنهاء التحديد
إذا Instr(Lcase(t0);"expression")>0 إذن
t0=استبدال(t0،"التعبير"،"التعبير"، 1، -1، 0)
نهاية إذا
نص التصفية=t0
وظيفة النهاية
'===========================================================
'تصفية الأحرف الشائعة وHTML
'===========================================================
عامل تصفية HTML(ByVal t0)
إذا Len(t0)=0 أو IsNull(t0) أو IsArray(t0) ثم FilterHtml="":الخروج من الوظيفة
IF Len(Sdcms_Badhtml)>0 ثم t0=ReplaceText(t0,"<(//|)("&Sdcms_Badhtml&")", "<$1$2")
IF Len(Sdcms_BadEvent)>0 ثم t0=ReplaceText(t0,"<(.[^>]*)("&Sdcms_BadEvent&")", "<$1$2")
t0=نص التصفية(t0,0)
مرشحHtml=t0
وظيفة النهاية
الدالة GotTopic(ByVal t0,ByVal t1)
إذا كان Len(t0)=0 أو IsNull(t0) إذن
حصلت على الموضوع = ""
وظيفة الخروج
نهاية إذا
خافت ل، ر، ج، ط
t0=Replace(Replace(Replace(Replace(t0"، ""،"،""،chr(34))"،>"،>")،"<"،<")
ل = لين (t0)
ر = 0
لأني=1 إلى ل
ج=أبس(تصاعدي(منتصف(t0,i,1)))
إذا ج>255 ثم t=t+2 وإلا t=t+1
إذا ر>=t1 ثم
gotTopic=Left(t0,I)&"…"
الخروج ل
آخر
حصلت على الموضوع=t0
نهاية إذا
التالي
GotTopic=Replace(Replace(Replace(Replace(GotTopic," ""),chr(34),"")">"،>"),"<"،<")
وظيفة النهاية
وظيفة UrlDecode(ByVal t0)
خافت t1، t2، t3، أنا، t4، t5، t6
t1 = ""
t2=خطأ
t3 = ""
لأني = 1 إلى لين (t0)
t4=منتصف(t0,I,1)
إذا t4 = "+" ثم
t1=t1&" "
ElseIF t4 = "%" ثم
t5=منتصف(t0,i+1,2)
t6=سينت("&H" & t5)
إذا t2 ثم
t2=خطأ
t1=t1&Chr(Cint("&H"&t3&t5))
آخر
إذا كانت قيمة Abs(t6)<=127 إذن
t1=t1&Chr(t6)
آخر
t2=صحيح
t3=t5
نهاية إذا
نهاية إذا
أنا=أنا+2
آخر
t1=t1&t4
نهاية إذا
التالي
UrlDecode=t1
وظيفة النهاية
الدالة CutStr(byVal t0,byVal t1)
خافت ل، ر، ج، ط
إذا كان IsNull(t0) ثم CutStr="":الخروج من الوظيفة
ل = لين (t0)
t1=كثافة العمليات (t1)
ر = 0
لأني=1 إلى ل
ج=تصاعدي (منتصف (t0،I،1))
إذا كان c<0 أو c>255 ثم t=t+2 وإلا t=t+1
إذا ر>=t1 ثم
CutStr=Left(t0,I)&"..."
الخروج ل
آخر
CutStr=t0
نهاية إذا
التالي
وظيفة النهاية
إغلاق الوظيفةHtml(ByVal t0)
Dim t1،I،t2،t3،Regs،Matches،J،Match
تعيين Regs=RegExp الجديد
Regs.IgnoreCase=صحيح
Regs.Global=صحيح
t1=Array("p"،div"،"span"، "table"، "ul"، "font"، "b"، "u"، "i"، "h1"، "h2"، "h3" ""،"h4"،"h5"، "h6")
لأني=0 إلى UBound(t1)
t2=0
t3=0
Regs.Pattern = "/<"&t1(I)&"( [^/</>]+|)/>"
تعيين التطابقات=Regs.Execute(t0)
لكل مباراة في المباريات
t2=t2+1
التالي
Regs.Pattern = "/</"&t1(I)&"/>"
تعيين التطابقات=Regs.Execute(t0)
لكل مباراة في المباريات
t3=t3+1
التالي
من أجل j=1 إلى t2-t3
t0=t0+"</"&t1(I)&">"
التالي
التالي
إغلاقHtml=t0
وظيفة النهاية