كيف يمكن منع الرسائل غير المرغوب فيها والتعليقات غير المرغوب فيها بشكل فعال على مواقع الويب (لوحات الرسائل)؟ توفر هذه المقالة أفكارًا تفصيلية للحلول وخطوات التنفيذ، ويمكن للأصدقاء الذين يحتاجون إلى معرفة المزيد الرجوع إلى ما يلي
1. في صفحة ملء النموذج: <input type="hidden" value="<%=Now()%>">
في صفحة معالجة الإرسال، قم بتعيين وقت الإرسال
انسخ رمز الكود كما يلي:
إذا كان DateDiff("s",request.form("intime1"), Now()) < 5 إذن
Response.write "<SCRIPT language=JavaScript>alert('سرعة رسالتك سريعة جدًا، يُمنع ترك الرسائل!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Response.end
نهاية إذا
2. رمز التحقق
انسخ رمز الكود كما يلي:
yz=cstr(request.Form("yz"))
yz1=cstr(جلسة("yz1"))
إذا yz1<>yz إذن
Response.Write("<script language=javascript>alert('الرجاء إدخال رمز التحقق بشكل صحيح!');</script>")
استجابة. إعادة توجيه ("sign.asp")
نهاية إذا
3. تحديد الأصل
انسخ رمز الكود كما يلي:
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
'الاستجابة. الكتابة (server_v1)
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
'الاستجابة. الكتابة (server_v2)
إذا كان mid(server_v1,8,len(server_v2))<>server_v2 إذن
Response.Write("<script language=javascript>alert('يحظر إرسال البيانات خارجيًا!');</script>")
Response.end
نهاية إذا
4. قم بتعيين عدد التقديمات اليومية
انسخ رمز الكود كما يلي:
'عندما يرسل المستخدم مرة واحدة
إذا request.cookies("postnum")="" ثم
Response.cookies("postnum")=1
Response.cookies("postnum").expires=DateAdd("h", 24, Now())
آخر
Response.cookies("postnum")=request.cookies("postnum")+1
نهاية إذا
إذا request.cookies("postnum") > 3 إذن
Response.write "<SCRIPT language=JavaScript>alert('لقد تجاوز عدد الرسائل اليوم الحد الأقصى، والرسائل محظورة!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Response.end
نهاية إذا
5. حظر الملكية الفكرية
انسخ رمز الكود كما يلي:
server_ip=Cstr(Request.ServerVariables("REMOTE_ADDR"))
إذا كان صحيحًا (server_ip،8) = "194.165."
Response.write "الإرسالات المتداخلة 194.165 محظورة."
استجابة. النهاية ()
نهاية إذا
1. تحديد ما إذا كانت المعلومات الصادرة لها مصدر موثوق. وطالما تم نشره من قبل شخص طبيعي، فيجب أن يكون قد جاء من خلال صفحة التقديم التي نقدمها للمستخدمين، ويجب أن يكون هناك مصدر إذا تم نشره بواسطة آلة، فلن تكون هناك معلومات مصدر.
'تحديد الأصل ومنع التقديمات الخارجية
انسخ رمز الكود كما يلي:
خافت server_v1,server_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
إذا كان server_v1 = "" أو instr (server_v1، "/add.asp") <=0 أو mid(server_v1,8,len(server_v2))<>server_v2 إذن
Response.write "<SCRIPT language=JavaScript>alert('مصدر غير قانوني، الإرسال الخارجي محظور!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Response.end
نهاية إذا
لاحظ أن /add.asp أعلاه هو الصفحة المصدر لصفحة الإرسال. بالطبع، يمكن للآلة أيضًا تزوير الأصل، وهو ما يجب التعامل معه بالاشتراك مع الطرق التالية.
2. رمز التحقق. لقد كانت رموز التحقق دائمًا طريقة فعالة للتعامل مع رسائل البريد العشوائي على الجهاز. تتمتع رموز التحقق المختلفة بقدرات مختلفة للتعامل مع رسائل الأجهزة، فكلما كان رمز التحقق أكثر تعقيدًا، أصبح من الصعب على الأجهزة اختراقه. وهذا يتطلب اختيار التوازن بين مراعاة مشاعر المستخدم والتعامل مع الآلة. لن أقول الكثير عن كيفية استخدام رمز التحقق، وسيؤدي البحث على Google وBaidu إلى ظهور العديد من المقدمات.
3. تحديد وقت تقديم المصدر. إذا كان الوقت الذي يقضيه في صفحة الإرسال قصيرًا جدًا، مثل 20 ثانية، بشكل عام طالما أنه فرد، فلا يلزم أن يكون وقت كتابته قصيرًا إلى هذا الحد. على سبيل المثال، عندما يفتح المستخدم الصفحة (مثل add.asp)، فإننا نسجل الوقت ونضيف كائنًا مخفيًا إلى نموذج إرسال النموذج، مثل:
<نوع الإدخال = "مخفي" value = "<%=Now()%>">
وبعد ذلك، عندما يكتب المستخدم رسالة ويرسلها إلى صفحة المعالجة المحددة (مثل addok.asp)، نحصل على الوقت الحالي ونقارنه بالوقت intime1 في add.asp إذا كان فارق التوقيت أقل من المحدد الوقت، مثل 20 ثانية، الرسائل محظورة ويتم تحديدها على أنها آلة. يمكن كتابة الكود هكذا:
انسخ رمز الكود كما يلي:
إذا كان DateDiff("s",request.form("intime1"), Now()) < 20 إذن
Response.write "<SCRIPT language=JavaScript>alert('سرعة رسالتك سريعة جدًا، يُمنع ترك الرسائل!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Response.end
نهاية إذا
من خلال الطرق الثلاث المذكورة أعلاه، يمكن حظر معظم التعليقات غير المرغوب فيها التي تقدمها الروبوتات، وإذا كان لا يزال هناك عدد كبير من التعليقات، فمن المحتمل أن تكون هذه التعليقات قد خلفتها لحوم بشرية. لكن كيف نتعامل مع الرسائل البشرية؟ يوفر flymorn أيضًا طرقًا للتعامل معها.
الطريقة بسيطة للغاية، وهي تحديد عدد التعليقات التي ينشرها نفس المستخدم عن طريق تسجيل ملفات تعريف الارتباط وIP الخاصين بالمستخدم. على سبيل المثال، خلال 24 ساعة في اليوم، يُسمح لنفس المستخدم بنشر 5 رسائل فقط. يمكننا تحقيق ذلك من خلال الطرق التالية.
انسخ رمز الكود كما يلي:
<%'عندما يرسل المستخدم مرة واحدة
إذا request.cookies("postnum")="" ثم
Response.cookies("postnum")=1
Response.cookies("postnum").expires=DateAdd("h", 24, Now())
آخر
Response.cookies("postnum")=request.cookies("postnum")+1
نهاية إذا
إذا request.cookies("postnum")> 5 ثم
Response.write "<SCRIPT language=JavaScript>alert('لقد تجاوز عدد الرسائل اليوم الحد الأقصى، والرسائل محظورة!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Response.end
نهاية إذا
%>
من خلال القيود المذكورة أعلاه، تم أيضًا تقييد النشر اليدوي إلى حد ما. تعتمد الطريقة المذكورة أعلاه على حكم ملفات تعريف الارتباط. بالطبع، يمكن للمستخدمين مسح ملفات تعريف الارتباط من خلال المتصفح، ولكن هذا يجعل من الصعب عليهم نشر منشورات غير مرغوب فيها ويرفع الحد. يمكننا أيضًا الاستمرار في تحديد عنوان IP الخاص بالناشر وتحقيق هدفنا من خلال الحد من عدد المشاركات تحت نفس عنوان IP. لن يكون هناك المزيد من التوسع هنا. يمكنك تصميم طريقتك الخاصة لكيفية تحديد IP للحد من النشر. إذا كانت لديك آراء أو اقتراحات حول المواضيع التي تمت مناقشتها في هذه المقالة، فيرجى ترك تعليق حتى نتمكن من مناقشتها معًا.