» جمعه 12 شهریور 1389 |   ورود or عضویت

درياره‌ آفتابگردان

« آفتابگردان » به عنوان یک كانون مجازي‌ با هدف فراهم كردن محيطي لذت‌بخش، علمي و مفيد و همچنين در دسترس قرار دادن آن‌چه يك كاربر رايانه نياز دارد، اعم از نرم‌افزارها، آموزش‌هاي كاربردي، اخبار، نقد و بررسي‌ها، راهنمايي‌ها و ...؛ ايجاد شده است.
شما می‌توانید، با ثبت نام در سايت عضو خانواده بزرگ و باصفاي آفتابگردان شوید و در انجمن‌هاي گفتگو با ديگر آفتابگرداني‌ها به بحث و تبادل نظر بنشینید.
آفتابگرداني‌ها هدفشان همیاری یکدیگر در زمينه‌هاي مختلفِ شغلي، درسي، كامپيوتري و ... است و در اين راه تا حد توان، از هيچ اقدامي دريغ نمي‌ورزند.
امیدواریم شما نیز با حضور در این جمع و اشتراک دانسته‌هایتان با دیگران، آن‌ها را در رسیدن به اهدافشان یاری دهید...


تولبار و مسنجر آفتابگردان
محصولات رايگان آفتابگردان


بلوک کاربری
 
عضویت
کلمه عبور را فراموش کرده ام

 
کاربران سایت:
مجموع: 13,117
آخرین: pediram

کاربران حاضر درسایت:
مهمان: 88
عضو: 2
مخفی: 1
مجموع: 90

Last Seen Users:
ghalbeshisheei  |  NAGMEH  |  chalipa  |  gtm396  |  Hamid  |  babani2009  |  dalir  |  ashena  |  hrahmanius  |  Gytyonline  |  saman25  |  dada  |  shinabah  |  ahwaz20  |  ali350  |  shahramie  |  zarii  |  meh_ham  |  gholmorad  |  reza_z  |  amirhosein3232  | 




ورود مشتریان تبلیغاتی
نام کاربری:
کلمه عبور:

مرکز دانلود سایت

کل فايلها: 141
کل عناوين: 15
کل دريافت ها: 92244


آخرين ارسالها:

عكس رندوم از گالري عكس
قنديل
قنديل
نام مجموعه: زمستان
صفحه اول گالري

لینکدونی دوستان


[آمار سایت]


 دوستان:

ساوه‌سراP30Download - گزیر - مرکز آموزش گنو/لینوکس - آنلاین​استودیو - آموزشهای اینترنتی - بنیان - طنین طراحی - عاشقانه - عاشقانه - پروژه‌ها و ابتکارات ریاضی - دنیای دانلود - بزرگ‌ترین مرکز آموزش - موسسه سخت افزار اهواز - نت‌نوشت - اندیشه‌هایم - دانلود کده - kralpc.com - بهارنارنج - سايت تفريحي ايرانيانبازی آنلاین و جایزه - کارگاه اتومبیل - بانك سوالات امتحاني و كنكور - وب سایت بسیجیان شهریار - بانك سوالات امتحاني و كنكور - گرافیک کامپیوتری - نهایت گرافیک - گرافیک کامپیوتری - مرجع نرم افزار و مقالات آموزشی - PDFبزرگترین مرجع دانلود کتاب های الکترونیکی - تنها در باغ - چشم انداز فناوری اطلاعات - روباه طلایی - پروژه دانشجويي - ايراني سلام - بزرگترین شهر دانلود - سایت شخصی رهبر بختیاری

+ لینک سایت خود را اضافه کنید.



مهار يك موتور اسپمر (كمي درباره مهار موتورهايي كه نظرات ناخواسته مي‌فرستند)

يكي از مشكلات يا بهتر بگويم، معضلات سايت‌ها، به خصوص سايت‌هايي كه از سورس‌هاي جهاني استفاده مي‌كنند (مثل سيستم‌هاي مدريت محتواي WordPress - PHPNuke - Mambo و...)، اين است كه اسپمرهاي جهاني نيز با آن‌ها پا به پا مي‌آيند!

اگر شما خودتان برنامه‌نويس سيستمتان باشيد، احتمالاً هيچ كس نمي‌تواند بفهمد مثلا براي ارسال يك نظر، چه تابعي با چه نامي و چه متغيرهايي استفاده كرده‌ايد، اما اگر اين سيستم OpenSource باشد، كارتان زار است! آن‌وقت است كه هر كاربري كه بخواهد، خيلي راحت مي‌تواند از طريق نواقصي كه خودش يا ديگران كشف مي‌كنند، با شما شوخي كند!! چون سورس‌كدهاي شما را او نيز دارد.

البته كساني كه سيستم‌هاي جهاني را مي‌نويسند، خودشان استاد اين كارها هستند و طبيعتاً تمامي راه‌هاي شوخي را مي‌بندند! اما مشكل زماني بروز مي‌كند كه يك كاربر ناشي بخواهد براي اين سيستم‌ها در اصطلاح ماژول بنويسد! و مشكل زماني بدتر مي‌شود كه شانس اين كاربر ناشي خوب باشد و اين ماژول، جهاني شود!! و ده‌ها سايت اين ماژول را روي سيستمشان پياده كنند...

يكي از مهم‌ترين مشكلاتي كه در سيستم‌هاي مديريت محتوا ممكن است وجود داشته باشد، جاهايي مثل «ارسال نظر» است كه كاربران دستشان باز گذاشته مي‌شود. اين موقع است كه اسپمر(Spamer)ها (كساني كه تبليغات ناخواسته ارسال مي‌كنند) شروع به نوشتن روبات‌هايي مي‌كنند كه از طريق بخش نظرات، آنچه كه آن‌ها دلشان مي‌خواهد (و معمولاً تبليغ سايت‌ها با استفاده از شعارهاي س..كسي است!) را به عنوان نظر ارسال كنند...

كافي‌ست آدرس صفحه مربوط به نظرات را به روبات خود بدهند و از او بخواهند هر از چند گاهي به آن سايت سر بزند و تبليغشان را آنجا بگذارد. (راستي! منظورم از روبات، آن روباتي كه در فيلم «هوش مصنوعي» ديديد، نيست ها! منظورم قطعه كدي است كه كاري برنامه‌ريزي شده را تكرار مي‌كند)

اگر به بخش نظرات سايت‌هاي Low Level (سطح پايين) توجه كرده باشيد، با موجي از نظرات با نوشته‌هاي بي‌ربط و به زباني غيرفارسي يا زبان سايت مربوطه، روبرو خواهيد شد!

بيچاره، مدير سايت اگر كمي ناشي باشد، بايد هر بار شروع كند به پاك كردن تك‌تك همه نظراتي كه توسط يك روبات نامرد(!) ارسال شده است. كه شايد گاهي در هر روز از 50 ارسال تجاوز كند!

اما اگر به فرم‌هاي مختلف در سراسر اينترنت توجه كرده باشيد، مطمئنا با كاراكترهايي درهم و برهم شبيه شكل زير برخورد داشته‌ايد:

http://www.aftabgardan-cc.com/uc/Hamid/761/captcha.jpg

احتمالاً قبلاً در مورد اين حروف چيزهايي شنيده‌ايد، اما اگر چيزي نشنيده‌ايد، من يك بار توضيح مي‌دهم:
اين ترفند در اصطلاح «CAPTCHA» (بخوانيد كپچا) نام دارد كه مخفف:

Completely Automated Public Turing Test to Tell Computers and Humans Apart

است. به مفهوم «تست تورينگ عمومي كاملاً اتوماتيك براي فرق‌گذاري بين كامپيوتر و انسان». (در مورد آلن تورينگ مي‌توانيد در پست‌هاي قبلي‌ام چيزهايي بخوانيد)
توضيح ساده اينكه:
براي جلوگيري از فعاليت روبات‌هاي اسپمر، در بين كدهايي كه وظيفه افزودن نظرات، نام‌هاي كاربري و كلاً فيلدهاي يك فرم را به ديتابيس سايت به عهده دارند، كدي قرار داده مي‌شود كه ابتدا تست مي‌كند كه اگر حروفي كه در اين كادر نوشته شده است، درست نوشته شده بود، اجازه افزودن اطلاعات داده شود، در غير اينصورت، اين امكان وجود نداشته باشد.

هدف از كپچا (CAPTCHA) چيست؟

خوب، طبق گفته آلن تورينگ، هنوز بشر نتوانسته است روباتي بسازد كه في‌الان تصميم بگيرد كه بايد چه كاري انجام دهد و طبيعتاً آن روبات نمي‌تواند بفهمد الان داخل اين كادر چه حروفي نوشته شده است. چون همانطور كه متوجه شده‌ايد، اين حروف هر بار به صورت رندوم (تصادفي) تغيير مي‌كند...

جالب است بدانيد كه اگر اين حروف درهم نباشند، ممكن است روبات عكس را اسكن (با استفاده از تكنولوژي OCR) كند و نوشته را خارج كند و در فيلد مربوطه وارد نمايد و حتي روبات‌هايي هستند كه اين حروف درهم را هم اسكن مي‌كنند!!! پس الان مي‌توانيد بفهميد چرا اين حروف همينطور هر روز درهم‌تر و كثيف‌تر از از ديروز مي‌شوند! چون روبات‌ها هر روز قوي‌تر مي‌شوند.

يك جوك در اين زمينه:
به اين كپچا نگاهي بيندازيد:

جدا از اينكه اين كپچا مي‌تواند يك شوخي بامزه باشد، به نظر من ماهيت هوش مصنوعي در آينده‌اي نه چندان دور را مي‌‌رساند!
يعني روزي خواهد رسيد كه روبات‌ها آنقدر هوشمند مي‌شوند كه نه تنها مثل من و شماي انسان مي‌توانند نوشته داخل اين كادر را بخوانند، حتي مي‌توانند در كسري از ثانيه، جواب آن را بيابند و داخل كادر بنويسند!

و اما در مورد آفتابگردان:

چند روزي هست كه متوجه شدم كه آدرس چند بخش از بخش‌هاي ارسال نظر در «آموزش‌هاي سايت» جزء ليست سفيد(!) يك اسپمر قرار گرفته است! اين ماژول هم جزو آن دسته از ماژول‌هايي‌ست كه احتمالاً يك شبه و توسط يك برنامه‌نويس مبتدي نوشته شده است و در عين ناباوري، بسياري از سايت‌هاي مشهور از آن استفاده مي‌كنند! و طبيعتاً به همين دليل است كه يك اسپمرساز پيدا شده كه يك روبات براي آن نوشته است!

تا چند روز پيش، اگر به بخش «جديدترين نظرات» مي‌رفتيد، شاهد بوديد كه ده‌ها نظر به صورت انگليسي و شامل آدرس سايت‌هاي غيراخلاقي در آن‌ها وجود دارد...

http://aftabgardan-cc.com

براي رفع اين مشكل، در ابتدا، چند روزي صفحه ارسال نظرات را حذف كردم، اما در عين ناباوري متوجه شدم كه باز هم نظرات ناخواسته، ارسال مي‌شود!

در مرحله بعد، حدس زدم كه اين روبات از باگ اين ماژول استفاده مي‌كند و بدون استفاده از فرم، اطلاعات را وارد تيبل مي‌كند. به همين دليل، اسم تيبل (Table) مربوط به نظرات در ديتابيس را به يك نام ديگر تغيير دادم، اما باز هم متوجه شدم كه نظرات ناخواسته ارسال مي‌شود!

در قسمت بعد عمليات(!)، لينك به صفحه ارسال نظر را از زير آموزش‌ها برداشتم و در زير هر آموزش يك فرم طراحي كردم، كه الان مي‌توانيد در زير همه آموزش‌ها ببينيد (به طور مثال، اين آموزش) اما باز هم نظرات، ارسال مي‌شد!

بعد، رفتم شروع كردم به طراحي يك ضداسپم. اگر به فرم توجه كنيد، مي‌بينيد كه از شما خواسته شده است بعد از نوشتن نظرتان، جمع دو عددي كه مي‌بينيد را در كادر مربوطه وارد نماييد:

http://aftabgardan-cc.com

در تابعي كه اطلاعات را وارد ديتابيس مي‌كند، گفته‌ام اگر كاربر مجموع دو عدد را درست وارد كرد، اجازه ورود بده، وگرنه، خير.
لازم به ذكر است كه اين اعداد هر بار به صورت رندوم تغيير مي‌كنند و همراه با نظر شما به صفحه بعد منتقل مي‌شوند. در آن صفحه، شما يك عدد وارد كرده‌ايد، من هم آن دو عدد را (و طبيعتاً مجموع آن دو متغير را) دارم و با هم مقايسه مي‌كنم... اگر درست بود كه يعني شما انسانيد و اگر نه، يعني احتمالاً روباتي نظر فرستاده است!

اما باورتان نمي‌شود اگر بگويم كه باز هم نظرات ناخواسته در ديتابيس درج مي‌شد!!!

داشتم كم‌كم نااميد مي‌شدم كه نكته اساسي يادم افتاد! متوجه شدم كه اين روبات با استفاده از يك فرم از پيش طراحي شده، دو متغير اصلي كه براي تابع comment نياز است (يكي شماره آموزش و يكي شماره شاخه آن) را به همراه اطلاعات فرم (نام كاربر و نظرش) به تابع مي‌فرستد. يعني، فرم جديد من كه دو متغيير براي اعداد رندوم و يكي براي جمع آن‌ها اضافه شده است را به فرمي كه داده‌ها را مي‌خواند نمي‌فرستد. در نتيجه، تابع، آن‌ها را صفر در نظر مي‌گيرد و جمع 0 با 0 مي‌شود، صفر، پس يعني اطلاعات، درست وارد شده است!!!

نكته اينجا بود كه من فراموش كرده بودم به محض تعريف تايع comment بگويم اگر متغييري به نام randsum كه جمع دو عدد وارد شده توسط كاربر است، از طريق فرم صفحه قبل، به صفحه پردازش (يا صفحه Handle) ارسال شده بود، آن‌وقت بيا و چك كن كه كاربر اصلا درست وارد كرده يا خير! اگر چنين متغييري به صفحه‌ي هندل ارسال نشده بود، به كاربر هشدار بده كه "به صورت غيرمجاز در حال ارسال نظر هستيد"...

در شكل زير، قسمتي كه به صورت سفيد نمايش داده شده، چك مي‌كند كه كاربر فرم جديد را پر كرده و اصلا داده‌اي به عنوان مجموع به صفحه هندل وارد شده يا خير:

http://aftabgardan-cc.com

خلاصه، بعد از كلي ماجرا توانستيم اين روبات سمج را مهار كنيم!
اما واقعاً از اون ممنونم. فكرش را كنيد، به من كلي نكته آموخت، به شما و خيلي‌هاي ديگر كه اين مقاله را مي‌خوانند نيز نكاتي در مورد كپچا و ... ياد داد و باعث شد كه من در آينده طوري برنامه‌ريزي كنم كه زيان‌هاي از اين سنگين‌تر متوجهم نشود!
به همين دليل است كه هميشه هكرها و كركرها و نامردهاي اينترنتي را تشويق كرده‌ام!! خدا خيرشان بدهد!



[دانستني‌هاي IT]
ارسال شده در مورخه : جمعه، 16 آذر، 1386 توسط Hamid



امتیاز دهی به مطلب

امتیاز متوسط : 5
تعداد آراء: 1


لطفا رای مورد نظرتان را در مورد این مطلب ارائه نمائید :

عالی
خیلی خوب
خوب
متوسط
بد


انتخاب ها


  بازديدها از اين خبر: 1054 بار

 چاپ این مطلب چاپ این مطلب


نظرات طرح شده

نام: [ کاربر جدید ]
Email:

نظر: (اگر فيلد نظر خالي باشد، نظر شما ثبت نمي‌شود)


اجازه استفاده از تگهای HTML را ندارید


جمع عدد 8 با 15 را در كادر زير وارد نماييد:
(اين كار براي جلوگيري از فعاليت موتورهاي اسپمر است)


alavi                توسط alavi در مورخه : شنبه، 26 اردیبهشت، 1388
سلام ممنون در مورد capttcha


[ ارسال جوابیه ]


maryam (امتیاز : 0)
توسط maryam در مورخه : پنجشنبه، 21 مرداد، 1389
سلام . خیلی مفید بود.
من برای پروژم نیاز به کد کپچایی مثل این دارم، ممنون میشم اگه source اش و توضیحات نصبش و برام بفرستین.


[ ارسال جوابیه ]

Home | Forums | Download | Learning | Music | Gallery | Search | Site Map | About Us | Contact Us

Copyright 2004-2009. All rights reserved.
© by Aftabgardan Cultural Center : Aftabgardan-cc.com : Aftab.cc