قبل بضعة أيام، امتلأت مدونتي بالتعليقات غير المرغوب فيها، بالعشرات منها. لم أواجه مثل هذا الموقف مطلقًا منذ أن قمت بإنشاء موقع ويب لفترة طويلة، وألوم نفسي على عدم إضافة وظيفة رمز التحقق. من أجل منع التعرض للهجوم مرة أخرى، من الضروري أن يكون لديك برنامج لتصفية رمز التحقق. لقد بحثت عن بعض المعلومات على الإنترنت وشعرت أنه من غير المريح دائمًا استخدام التعليمات البرمجية التي يكتبها الآخرون، ولم أتمكن من كتابة تعليمات برمجية معقدة بنفسي، خاصة النوع الذي يولد الصور. لقد جربت العديد من الطرق على الإنترنت لكن لم ينجح شيء، لا أعرف السبب، ربما ليس لدي خبرة. إنه شعور معقد للغاية.
في النهاية، قضيت ساعة في كتابة رمز تحقق بسيط للغاية، وهو أصلي تمامًا، ولا يحتوي إلا على عشرة أسطر من التعليمات البرمجية. يتم إنشاؤه بشكل عشوائي، لأنه بسيط نسبيًا، ولا يمكنه التعامل مع برامج النشر القوية هذه، ولكنه أفضل من لا شيء. بعد وضع رمز التحقق، لاحظته لأكثر من بضعة أيام ولم يتم رؤية أي بريد عشوائي. يجب أن تكون فعالة، هاها.
مثال:
======show.asp======
انسخ رمز الكود كما يلي:
<%
عشوائية
randm=Int((9000*rnd)+1000) ينشئ بشكل عشوائي رمزًا رقميًا مكونًا من 4 أرقام
%>
رمز التحقق: <INPUT name=yzm id=netadd size=4 maxlength=4> <%=randm%> هنا مربع نص، ويتم استدعاء الوظيفة التي تم إنشاؤها عشوائيًا بجانبه
يهدف رمز js هذا إلى التحقق مما إذا كان رمز التحقق الذي تم إدخاله صحيحًا.
انسخ رمز الكود كما يلي:
<نوع البرنامج النصي = نص/جافا سكريبت>
وظيفة إرسال النموذج (obj)
{
إذا (obj.yzm.value!=<%=randm%>)
{
تنبيه (خطأ في رمز التحقق)؛
obj.content.focus();
عودة كاذبة.
}
obj.submit();
عودة صحيحة؛
}
</النص>
أضف هذه الجملة إلى الزر "موافق".
<INPUT onclick=sendForm(this.form); type=button name=Submit2 value=Add>
يجب قراءة النص الأحمر بوضوح، وإذا لم يكن متطابقًا، فلن يعمل.
إنه في الأساس بهذه البساطة، ويمكن القول أنه الكود الأساسي، وفي الواقع، يمكن جعله أكثر تعقيدًا، لكنني لم أفكر في الأمر بعد.