النتائج 1 إلى 10 من 10

الموضوع: قم بمنع خاصية ( الــجــلــب ) للمعلومات المميزة بموقعك !

  1. #1
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576

    قم بمنع خاصية ( الــجــلــب ) للمعلومات المميزة بموقعك !



    بسم الله الرحمن الرحيم


    كنت بحاجة إلى جلب بعض المعلومات وتحليلها الفترة السابقة من احدى المواقع ..
    ولكن فوجئت بان الجلب ممنوع !


    الموضوع بدأ معي من ذاك الموقع ، فمن خلال تجاربي للتغلب على خاصية منع الجلب ، اعجبتني فكرة منع الجلب نفسها والتي قمت بابتكارها ..


    الفكرة كلها ، هي تحديد اذا ماكان هوية الذي يتعامل معك هو ( متصفح ) اي انسان ، ام مجرد برنامج ( آلة ) ..

    وبمجرد التحديد .. يمكنك التحكم بزمام الأمور



    كيفية التفرقة بين المتصفح الحقيقي والآلة ؟
    هناك العديد من الطرق للتفرقة ،

    * من اسهلها : HTTP_USER_AGENT : لجلب نوعية المتصفح ، و في اغلب حالات برامج الجلب ، لن تكون لها قيمة ..

    * قيم أخرى يمكن التحقق منها ..

    * واخطر نقطة وهي ( الكوكيز ) ، فمن المعروف ان الكوكيز يتم تخزينه من خلال المتصفح على جهازك ، والمتصفح هو من يقوم بلعب دور المنسق بين جهازك + السيرفر .. وبدون المتصفح لن يكون السيرفر قادرا على انشاء الكوكيز على جهازك ( لا تقل ان برنامج الجلب ايضا يستخدم متصفح ! لأن الكوكيز تشترط وجود نفس ال domain لكي تعمل ! وبالطبع السبايدر او برنامج الجلب سيكون على موقع آخر بدومين آخر )

    العملية ستكون كالتالي :
    تقوم بزرع الكوكيز
    التحقق من الكوكيز
    اذا تم انشاءه بشكل صحيح ، فهذا زائر حقيقي وتابع عملك
    اذا كانت قيمته فارغة ، فهناك احتمالان ( انه سبايدر - او ان المتصفح يرفض الكوكيز )

    وبالطبع ، فلا اعتقد ان هناك من يقوم باقفال الكوكيز من خلال المتصفح هذه الايام ، والا سيتعب كثيرا خلال تصفحه .. وعلى اي حال ستكون هذه مشكلته وليست مشكلتنا


    الكود :
    بداية قم بانشاء ملف وليكن :
    main.php
    وضع بداخله :
    كود PHP:
    <?php
    echo "hello swalif !";
    ?>
    وقم بانشاء ملف آخر وسميه :
    scrape.php
    وضع فيه :
    كود PHP:
    <?php
    $str 
    file_get_contents("http://localhost/main.php");
    echo 
    $str;
    ?>


    توجه إلى :
    http://localhost/scrape.php

    هذه عملية جلب طبيعية جدا .. وسيتم طباعة المحتويات والتي هي hello swalif !

    والآن لمنع الجلب
    قم بتعديل كود main.php :
    كود PHP:
    <?php
    header
    ("Set-Cookie: ahmed=booom"); // you can use setcookie or $_COOKIE too 
    ob_start(); //start buffering
    echo $_COOKIE['ahmed']; //print out the value of the cookie
    $str ob_get_contents(); //put the output into a variable
    ob_end_clean(); //clean up

    if (empty($str)){ //It's spider, or browser refused the cookies
        
    die("الا يفترض بك ان تكون في مكان آخر ؟");
    }else{ 
    //It's a real visitor
        
    echo $str;
    }
    ?>


    الآن توجه إلى :
    http://localhost/main.php
    سيطبع لك قيمة الكوكي .. او يطبع لك الموقع بشكل عادي ( الذي تم وضعه في مكان else )

    توجه إلى :
    http://localhost/scrape.php
    سيطبع لك : الا يفترض بك ان تكون في مكان آخر



    العيوب :
    للاسف هذه الطريقة قابلة للكسر .. من خلال Browser Emulator ، وهو ايهام السيرفر بان من يتعامل معه هو المتصفح ، فيستقبل منه الكوكيز ويزرعها ، ويرسل كل الهيدرز اللازمة وكل شيء (وهي ما قمت باستخدامه للتغلب على الموقع في بداية الموضوع )

    الطريقة كما قلت ليست محصنة 100% ولكن على الاقل قمت بتقليل نسبة الجلب لمعلومات موقعك المهمة او المميزة بنسبة لا تقل عن 80% ..


    اتمنى تكون الفكرة واضحة والكود واضح





    __________________
    SWF Thumbnail - tweet me


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    حركة حلوة والله
    بس لفت انتباهي شئ لو ارسلت Header يخزن الكوكيز اليس من المفترض ان تعيد تحميل الصفحة حتى تكون القيمة الجديدة في المصفوفة $_COOKIE ؟

    وما رأيك في هذه الدالة اظن بتختصر عليك الكثير
    http://web-professor.net/scripts/isbot/isbot.txt
    تحياتي





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    354


    طريقتك ممتازه ونفس الفكره تقريبا متبعه في عدد من المواقع

    لكن لا يمكن منع الجلب 100% حسب تجاربي مع المواقع التي تمنع الجلب






  4. #4
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    Flasher :
    طريقة ارسال الكوكيز بال header ، تجعله يقوم بارسال request في نفس اللحظة ..
    يعني الكود على بعضه .. بيكون 3 request تقريبا ..
    واحد للكوكيز في البداية
    وواحد لقراءة الكوكيز
    وواحد لطباعة المتغير في النهاية

    على اي حال .. عملية معقدة جدا انك تجلس تحسب عدد ال requests وال responses .. بتتعب لو جلست تركز على هذه النقطة

    وبالنسبة للصفحة التي قمت بوضعها .. ماشاء الله رائع
    ولكن اعتقد انه يكون بكشف السبايدر لمحركات البحث .. او السبايدرز المعروفة .. والتي تترك singature ..
    فان لم تترك .. فلن تكتشفها .. ( هذا ما فهمته من قراءة الكود سريعا ! )

    مشكور



    bntnjd.com :
    مشكور عزيزي .. وبالفعل كما قلت في نهاية الموضوع ..
    لا يوجد طريقة 100% للتغلب على الجلب .. فحتى هذه الطريقة والتي تعتبر احدى الطرق المعقدة ( مع تطويرها بالطبع كتشفير الكوكيز ، وجعله متغير بشكل زمني صغير .. إلخ ) يمكن كسرها ..

    ولكن كما ذكرت .. تقلل نسبة الجلب بشكل كبير ، لأنك ستضمن .. انه لن يقوم احد بعملية الجلب .. الا لو كان فاهم برمجة بشكل كبير ..


    تحياتي





    __________________
    SWF Thumbnail - tweet me

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2004
    المشاركات
    431


    جميل الطرقتين
    واعتقد ان أستخدام ال كوكي ميفرقش عن أستخدام USER_AGENT

    وكسرهم هما الأثنين بنفس الطريقة زي ما انت قولت فعلاً ل Browser Emulator ومن أشهرهم snoopy والمستخدم في سكريبت الترجمة الجديد من ac4p وأيضاً يستخدمه الكثير في جلب الأسهم من موقع تداول البرصة السعودية

    ملحوظة على جنب : egyptechno.com لما لم تجدد الدومين ؟





    __________________
    حازم خالد
    مبرمج، بعمل مواقع ويب وتطبيقات موبيل، هتلاقي شوية كورسات فيديو على YouTube بتاعي، وشوية كود على اكونت Github، ودي سيرتي فيها شوية حجات من شغلي، اخيراً كل لينكات السوشيال ميديا بتاعتي هنا.

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    mezoo :
    متشكرين يا باشا على الرد ..

    Snoopy ممتاز فعلا ، ولكن للاسف له عيوب .. ومن اشهر عيوبه ( انه معروف )

    فلنقل ، انك موقع مشهور جدا .. وتريد منع اي جلب من موقعك ،

    ستقوم :
    1- بمنع طرق الجلب البدائية المعروفة
    2- منع طرق الجلب بالكوكيز الموضحة بالموضوع
    3- وفي النهاية ، تتحقق اذا كان Snoopy هو المستخدم ، لأن له علامات عديدة يمكن التحقق منها


    رابط Snoopy للمهتمين :
    http://sourceforge.net/projects/snoopy/


    لمحة سريعة عن Browser Emulator :

    ٌقبل الدخول في هذه النقطة ، يجب ان تعرف كيفية التعامل ما بين المتصفح والسيرفر ، او كيف ان الصفحة التي تراها الآن .. معروضة امامك ..

    الذي يتم بالضبط ، ان المتصفح يقوم بارسال طلب ( رقم الآي بي التالي .. يطلب رؤية الملف الذي اسمه كذا ) - يقوم السيرفر بالرد على المتصفح ( هذه البيانات الموجودة في الملف اللي اسمه كذا + الملف يطلب وضع الكوكيز هذا بالقيم هذه على جهاز الزائر ) - المتصفح ( تم وضع الكوكيز التالية بنجاح ونطلب ان يتم تحميل الملف هذا إلى السيرفر ) - السيرفر ( جاري نقل الملف .. وتم البدأ في تحميله ) - المتصفح ( شكرا )

    وبهذا .. تجد ان التعامل ما بين السيرفر والمتصفح .. مفتوح بشكل مستمر .. هذا يرسل شيء .. وذاك يرد بشيء .. والاثنين جالسين يردو على بعض .. Messenger .. او بالاصح http protocol

    الآن ،
    لو كان لديك فورم ، يحتوي مثلا على التالي :-

    1- الإسم
    2- الإيميل
    3- مرفقات


    لتقوم بادخال البيانات ، والضغط على زر Browse لتحميل المرفقات .. ثم الضغط على " ارسال " لارسال بيانات الفورم ..

    كل هذه العملية تتطلب زائر حقيقي .. او انسان

    ولكن هذه العملية يمكن اتمامها من خلال برمجية او Browser Emulator . .

    البرمجية لن تقوم بالدخول إلى الصفحة .. وملىء البيانات وارسالها ..

    ولكن بكل بساطة ، ستلعب البرمجية هنا دور المتصفح ، يقوم بارسال الطلب .. إلى السيرفر بالشكل المناسب الذي يفهمه السيرفر .. او بالشكل الذي يرسله المتصفح عادة ..
    ومن هنا يمكنك التحكم في كل شيء .. كما لو انك متصفح حقيقي !

    كل هذه الامور تتم من خلال فنكشن :
    كود PHP:
    header(); 
    والتي تقوم بارسال اي اوامر إلى السيرفر ، كل ما عليك هو كتابتها بالشكل الصحيح .. وتضبيطها .. لتجنب المشاكل ..

    ايضا وهذه الفنكشن :
    كود PHP:
    stream_get_meta_data(); 
    والتي تقوم باستعراض الرد من السيرفر لك .. علما بان استخدامها يجب ان يكون محدود .. لأنها تسبب لود للسيرفر ..


    تحياتي





    __________________
    SWF Thumbnail - tweet me

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2004
    المشاركات
    431


    جميل جداً

    اعتقد أن سنوبي تقدر تغير الأجنت HTTP_USER_AGENT بتاعه
    على ما اعتقد في أستخدامي ليه مرة واحده

    لو في حاجة تانية تتذكرها ممكن يعرف اني Snoopy منها او أعرف أنه سنوبي

    ومبروك على الموقع الجديد وموفقين بإذن الله webplus.ws





    __________________
    حازم خالد
    مبرمج، بعمل مواقع ويب وتطبيقات موبيل، هتلاقي شوية كورسات فيديو على YouTube بتاعي، وشوية كود على اكونت Github، ودي سيرتي فيها شوية حجات من شغلي، اخيراً كل لينكات السوشيال ميديا بتاعتي هنا.

  8. #8
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    الله يبارك فيك يا باشا ..


    كود PHP:
    $this->_mime_boundary "Snoopy".md5(uniqid(microtime())); 






    __________________
    SWF Thumbnail - tweet me

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2004
    المشاركات
    431


    طيب تمام جداً

    موضوع جميل ومفيد

    ربنا يوفقك





    __________________
    حازم خالد
    مبرمج، بعمل مواقع ويب وتطبيقات موبيل، هتلاقي شوية كورسات فيديو على YouTube بتاعي، وشوية كود على اكونت Github، ودي سيرتي فيها شوية حجات من شغلي، اخيراً كل لينكات السوشيال ميديا بتاعتي هنا.

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2004
    المشاركات
    431


    تذكرت شئ كان تائه

    جزئية الكوكي او حتى الـUSER_AGENT تمنه محركات البحث من ارشفة موقعك
    ﻷن محركات البحث لا تقبل أب كوكي نهائياً

    وبالتالي يجب عليك التعرف على البوتات الخاصة بمحركات البحث لكي توافق على تصفحها للموقع دون ان تلقي لها كوكي

    نكمل مناقشة





    __________________
    حازم خالد
    مبرمج، بعمل مواقع ويب وتطبيقات موبيل، هتلاقي شوية كورسات فيديو على YouTube بتاعي، وشوية كود على اكونت Github، ودي سيرتي فيها شوية حجات من شغلي، اخيراً كل لينكات السوشيال ميديا بتاعتي هنا.





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض