דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. איך בונים בוט מושלם?

איך בונים בוט מושלם?

מתוזמן נעוץ נעול הועבר תכנות
44 פוסטים 7 כותבים 1.0k צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN nigun

    @dovid אמר באיך בונים בוט מושלם?:
    עד היום מה שעשיתי זה פשוט הקלטה של הnetwork ולשלוח מחדש את הערכים בPOST/GET ולשמור את העוגיות
    אבל יש אתרים שאיכשהו שמים לב שההתנהגות כאן היא לא אנושית,
    קראתי (או שמעתי) על זה איפשהו שיש לאתרים מנגנונים שמחשבים את הזמן מהכניסה לאתר עד לשליחה ובודקים האם הופעלו אירועים מסויימים בדף שכל לקוח אנושי חייב להפעיל
    לגבי חסימות קאפצ'ה ודומיהם יש את השירות הזה שפותר את הבעיה בתשלום, ובמקרים מסויימים זה שווה
    גם העלות בביצועים שווה אם לא סך הכל משתמשים בזה בתור פרוקסי רק כשלקוח שלי צריך
    ולא בוט שרץ כל הזמן ללא סיבה מספיקה
    מה שחסר לי זה כלי שמקליט את כל האירועים בדף ולא רק את מה שנשלח בPOST/GET

    dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי
    #5

    @nigun התיאוריה שלך לדעתי לא נכונה והיא לא סיבת הכישלון (אם תביא אתר ודוגמה נוכל לבדוק יחד).
    אתרים לא מבזבזים היום זמן כדי לדחות בוטים בשיטות מתחת לאדמה (שבסופו של יום ממש קל לעקוף אותם ע"י התבוננות פשוטה בnetwork), מי שבאמת רוצה שלא יהיו בוטים או עושה משהו פשוט מידי, שממש קל לעקוף, או הולך על ספריה רצינית כמו reCaptcha ואז חסל סדר נסיונות (השירות שהזכרת הוא לא פתרון תוכנה).

    בכל אופן, אתה לא צריך "להקליט", אתה סה"כ צריך להורות לספריה דמויית הסלניום את השלבים שהמשתמש האמיתי עושה וכך היא תעשה (וזה כולל כל האירועים הנורמלים שקורים בדפדפן, על אף שלדעתי זה לא רלוונטי כאמור).

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    nigunN תגובה 1 תגובה אחרונה
    3
    • nigunN nigun

      @dovid אמר באיך בונים בוט מושלם?:
      עד היום מה שעשיתי זה פשוט הקלטה של הnetwork ולשלוח מחדש את הערכים בPOST/GET ולשמור את העוגיות
      אבל יש אתרים שאיכשהו שמים לב שההתנהגות כאן היא לא אנושית,
      קראתי (או שמעתי) על זה איפשהו שיש לאתרים מנגנונים שמחשבים את הזמן מהכניסה לאתר עד לשליחה ובודקים האם הופעלו אירועים מסויימים בדף שכל לקוח אנושי חייב להפעיל
      לגבי חסימות קאפצ'ה ודומיהם יש את השירות הזה שפותר את הבעיה בתשלום, ובמקרים מסויימים זה שווה
      גם העלות בביצועים שווה אם לא סך הכל משתמשים בזה בתור פרוקסי רק כשלקוח שלי צריך
      ולא בוט שרץ כל הזמן ללא סיבה מספיקה
      מה שחסר לי זה כלי שמקליט את כל האירועים בדף ולא רק את מה שנשלח בPOST/GET

      A מנותק
      A מנותק
      avr416
      כתב ב נערך לאחרונה על ידי
      #6

      @nigun אמר באיך בונים בוט מושלם?:

      אבל יש אתרים שאיכשהו שמים לב שההתנהגות כאן היא לא אנושית,
      קראתי (או שמעתי) על זה איפשהו שיש לאתרים מנגנונים שמחשבים את הזמן מהכניסה לאתר עד לשליחה ובודקים האם הופעלו אירועים מסויימים בדף שכל לקוח אנושי חייב להפעיל

      כמו שדוד אמר זה ממש לא כך, הדרך הפשוטה לחסום בוטים היא באמצעות מאפיין שהדפדפן או כל כלי שולח והוא נקרא useragent שבו יש פירוט מאיזה מכשיר המשתמש גולש.
      הבוט שלך שולח שהוא בוט ולכן הוא נחסם.

      קישור למאמר בנושא בעברית

      תגובה 1 תגובה אחרונה
      0
      • dovidD dovid

        @nigun התיאוריה שלך לדעתי לא נכונה והיא לא סיבת הכישלון (אם תביא אתר ודוגמה נוכל לבדוק יחד).
        אתרים לא מבזבזים היום זמן כדי לדחות בוטים בשיטות מתחת לאדמה (שבסופו של יום ממש קל לעקוף אותם ע"י התבוננות פשוטה בnetwork), מי שבאמת רוצה שלא יהיו בוטים או עושה משהו פשוט מידי, שממש קל לעקוף, או הולך על ספריה רצינית כמו reCaptcha ואז חסל סדר נסיונות (השירות שהזכרת הוא לא פתרון תוכנה).

        בכל אופן, אתה לא צריך "להקליט", אתה סה"כ צריך להורות לספריה דמויית הסלניום את השלבים שהמשתמש האמיתי עושה וכך היא תעשה (וזה כולל כל האירועים הנורמלים שקורים בדפדפן, על אף שלדעתי זה לא רלוונטי כאמור).

        nigunN מנותק
        nigunN מנותק
        nigun
        כתב ב נערך לאחרונה על ידי nigun
        #7

        @dovid אמר באיך בונים בוט מושלם?:

        @nigun התיאוריה שלך לדעתי לא נכונה והיא לא סיבת הכישלון (אם תביא אתר ודוגמה נוכל לבדוק יחד).
        אתרים לא מבזבזים היום זמן כדי לדחות בוטים בשיטות מתחת לאדמה (שבסופו של יום ממש קל לעקוף אותם ע"י התבוננות פשוטה בnetwork), מי שבאמת רוצה שלא יהיו בוטים או עושה משהו פשוט מידי, שממש קל לעקוף, או הולך על ספריה רצינית כמו reCaptcha ואז חסל סדר נסיונות (השירות שהזכרת הוא לא פתרון תוכנה).

        בכל אופן, אתה לא צריך "להקליט", אתה סה"כ צריך להורות לספריה דמויית הסלניום את השלבים שהמשתמש האמיתי עושה וכך היא תעשה (וזה כולל כל האירועים הנורמלים שקורים בדפדפן, על אף שלדעתי זה לא רלוונטי כאמור).

        חשבתי שככה reCaptcha v3 עובד

        @avr416
        אני לא יודע על מה הוא מתבסס במאמר הזה
        אבל עכשיו עשיתי ניסוי וכתבתי סקריפט PHP פשוט שמדפיס את USER AGENT

        <?php
        $user=$_SERVER['HTTP_USER_AGENT'];
        print $user;
        ?>
        

        ועשיתי צילום מסך עם הבוט שלי
        האם אתה מוצא כאן איזה רמז לבוט?
        fullScreenshotfix.png
        וזה צילום מסך כשאני נכנס מהדפדפן הרגיל
        אני לא מוצא כאן הבדל שמצביע על בוט
        botfix.png

        עריכה: אני רואה שיש הרבה דיונים מעניינים בנושא
        וכנראה לכן גוגל הוסיפו לreCaptcha את האימות המעצבן ע"י תמונות ולא הספיק הסימון V וכו' כי הבוטים משתכללים כל הזמן

        מייל: nigun@duck.com

        dovidD תגובה 1 תגובה אחרונה
        0
        • nigunN nigun

          @dovid אמר באיך בונים בוט מושלם?:

          @nigun התיאוריה שלך לדעתי לא נכונה והיא לא סיבת הכישלון (אם תביא אתר ודוגמה נוכל לבדוק יחד).
          אתרים לא מבזבזים היום זמן כדי לדחות בוטים בשיטות מתחת לאדמה (שבסופו של יום ממש קל לעקוף אותם ע"י התבוננות פשוטה בnetwork), מי שבאמת רוצה שלא יהיו בוטים או עושה משהו פשוט מידי, שממש קל לעקוף, או הולך על ספריה רצינית כמו reCaptcha ואז חסל סדר נסיונות (השירות שהזכרת הוא לא פתרון תוכנה).

          בכל אופן, אתה לא צריך "להקליט", אתה סה"כ צריך להורות לספריה דמויית הסלניום את השלבים שהמשתמש האמיתי עושה וכך היא תעשה (וזה כולל כל האירועים הנורמלים שקורים בדפדפן, על אף שלדעתי זה לא רלוונטי כאמור).

          חשבתי שככה reCaptcha v3 עובד

          @avr416
          אני לא יודע על מה הוא מתבסס במאמר הזה
          אבל עכשיו עשיתי ניסוי וכתבתי סקריפט PHP פשוט שמדפיס את USER AGENT

          <?php
          $user=$_SERVER['HTTP_USER_AGENT'];
          print $user;
          ?>
          

          ועשיתי צילום מסך עם הבוט שלי
          האם אתה מוצא כאן איזה רמז לבוט?
          fullScreenshotfix.png
          וזה צילום מסך כשאני נכנס מהדפדפן הרגיל
          אני לא מוצא כאן הבדל שמצביע על בוט
          botfix.png

          עריכה: אני רואה שיש הרבה דיונים מעניינים בנושא
          וכנראה לכן גוגל הוסיפו לreCaptcha את האימות המעצבן ע"י תמונות ולא הספיק הסימון V וכו' כי הבוטים משתכללים כל הזמן

          dovidD מנותק
          dovidD מנותק
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי
          #8

          user-agent רלוונטי רק נגד בוטים לגיטימיים כמו של גוגל ובינג.
          כי כל בוט שמנסה להיראות כדפדפן כמובן שולח user-agent נורמטיבי ולא של בוט.

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          nigunN תגובה 1 תגובה אחרונה
          3
          • dovidD dovid

            user-agent רלוונטי רק נגד בוטים לגיטימיים כמו של גוגל ובינג.
            כי כל בוט שמנסה להיראות כדפדפן כמובן שולח user-agent נורמטיבי ולא של בוט.

            nigunN מנותק
            nigunN מנותק
            nigun
            כתב ב נערך לאחרונה על ידי nigun
            #9

            @dovid
            הבעיה היא בכותב המאמר המציג מצב כאליו הבוטים "הרעים" מזדהים בשמם

            מה זה אומר? כל מי שנכנס לאתר מזדהה באמצעות ה-user agent שלו. לגולשים אנושיים יש את שם הדפדפן בתור ה-user agent. בוטים מכילים את השם שלהם. הטקסט שלעיל אומר שמדובר בערימת בוטים שיש להם תחילת bot בשם עם תוים שבאים אחר כך. מה המטרה שלהם בחיים? יש כאלו שינסו לשתול תגובות פיקטיביות, יש כאלו שפשוט יציגו referrer עם איזשהו לינק כי שתבדוק את הסטטיסטיקות ותתפתה להכנס ללינק ועוד שאר ג’אנק פרסומי. בניגוד לגוגל בוט, יאהו ושאר החברים – אנחנו לא ממש רוצים את הבוטים האלו באתר שלנו.

            אגב בדקת מה reCaptcha v3 עושה בדיוק?

            מייל: nigun@duck.com

            dovidD תגובה 1 תגובה אחרונה
            0
            • nigunN nigun

              @dovid
              הבעיה היא בכותב המאמר המציג מצב כאליו הבוטים "הרעים" מזדהים בשמם

              מה זה אומר? כל מי שנכנס לאתר מזדהה באמצעות ה-user agent שלו. לגולשים אנושיים יש את שם הדפדפן בתור ה-user agent. בוטים מכילים את השם שלהם. הטקסט שלעיל אומר שמדובר בערימת בוטים שיש להם תחילת bot בשם עם תוים שבאים אחר כך. מה המטרה שלהם בחיים? יש כאלו שינסו לשתול תגובות פיקטיביות, יש כאלו שפשוט יציגו referrer עם איזשהו לינק כי שתבדוק את הסטטיסטיקות ותתפתה להכנס ללינק ועוד שאר ג’אנק פרסומי. בניגוד לגוגל בוט, יאהו ושאר החברים – אנחנו לא ממש רוצים את הבוטים האלו באתר שלנו.

              אגב בדקת מה reCaptcha v3 עושה בדיוק?

              dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי dovid
              #10

              @nigun לא לחצתי על הלינק למאמר וודאי שלא קראתי אותו.
              reCaptcha (גם 1,2) מעורפל היטב בצד לקוח וכולל גם עוצמת עיבוד ונתונים בצד שרת.
              בא נניח לצורך הדוגמה שהקוד בצד לקוח משקלל את תנועת העבר ומוציא מזה נוסחה גיאומטרית.
              כעתת לבני אדם יש מכנה משותף עצום בתנועות העכבר ומאידך כל פעם אמורה להיות ייחודיות גדולה.
              הקוד בצד לקוח שולח לגוגל את חתימת המידע בצירוף הID של הביקור המדובר. גוגל מנתחת את החתימה מול כלל נתוני הקליינט (אייפי וכולי), ומחליטה מה הסיכויים שזה נשתמש טבעי נמול האפשרות שזה אתה שלחת את בקשת הווב הזאת עם נתונים שהעתקת מבקשה קיימת או ש"המצאת" חתימה חדשה כדי להראות מקוריות.

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              nigunN תגובה 1 תגובה אחרונה
              5
              • dovidD dovid

                @nigun לא לחצתי על הלינק למאמר וודאי שלא קראתי אותו.
                reCaptcha (גם 1,2) מעורפל היטב בצד לקוח וכולל גם עוצמת עיבוד ונתונים בצד שרת.
                בא נניח לצורך הדוגמה שהקוד בצד לקוח משקלל את תנועת העבר ומוציא מזה נוסחה גיאומטרית.
                כעתת לבני אדם יש מכנה משותף עצום בתנועות העכבר ומאידך כל פעם אמורה להיות ייחודיות גדולה.
                הקוד בצד לקוח שולח לגוגל את חתימת המידע בצירוף הID של הביקור המדובר. גוגל מנתחת את החתימה מול כלל נתוני הקליינט (אייפי וכולי), ומחליטה מה הסיכויים שזה נשתמש טבעי נמול האפשרות שזה אתה שלחת את בקשת הווב הזאת עם נתונים שהעתקת מבקשה קיימת או ש"המצאת" חתימה חדשה כדי להראות מקוריות.

                nigunN מנותק
                nigunN מנותק
                nigun
                כתב ב נערך לאחרונה על ידי
                #11

                @dovid
                עדיין אפשר להוריד את הדירוג של הסבירות לרובוט
                ע"י תזוזות רנדומליות על המסך
                וכן להמתין להגדיר פרקי זמן רנדומליים להמתנה לשליחה הדף
                אולי הוא לא יקבל דירוג 1.0 (במיוחד שזה מאותו IP) אבל זה ירחיק את האפשרות של דירוג 0.0
                וכך אני לא יחסם

                מייל: nigun@duck.com

                dovidD תגובה 1 תגובה אחרונה
                0
                • nigunN nigun

                  @dovid
                  עדיין אפשר להוריד את הדירוג של הסבירות לרובוט
                  ע"י תזוזות רנדומליות על המסך
                  וכן להמתין להגדיר פרקי זמן רנדומליים להמתנה לשליחה הדף
                  אולי הוא לא יקבל דירוג 1.0 (במיוחד שזה מאותו IP) אבל זה ירחיק את האפשרות של דירוג 0.0
                  וכך אני לא יחסם

                  dovidD מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי dovid
                  #12

                  @nigun אתה מניח שזה נשען רק על העכבר, אבל גם אם כן תזוזות רנדומליות לא מוצלחות יקבלו 0.
                  מוצלחות ביותר יקבלו 0.2. מה הרווחת? אגב באתר שלי כמעט אף פעם לא מקבלים 1, אלא באיזור 0.9.

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  nigunN תגובה 1 תגובה אחרונה
                  1
                  • dovidD dovid

                    @nigun אתה מניח שזה נשען רק על העכבר, אבל גם אם כן תזוזות רנדומליות לא מוצלחות יקבלו 0.
                    מוצלחות ביותר יקבלו 0.2. מה הרווחת? אגב באתר שלי כמעט אף פעם לא מקבלים 1, אלא באיזור 0.9.

                    nigunN מנותק
                    nigunN מנותק
                    nigun
                    כתב ב נערך לאחרונה על ידי
                    #13

                    @dovid
                    לא דווקא תזוזות עכבר
                    אלא בדיקה איזה אירועים הוא מפעיל ובאיזה סדר
                    וכן כמה זמן הוא שוהה בכל דף
                    האם יש עוד פעולות שאני עושה ובוט לא?
                    בכל מקרה אני מניח שבעלי האתרים לא חוסמים כל מי שיש לו דירוג 0.7 ומטה
                    כי זה יהרוס להם את החוות משתמש
                    השאלה היא איפה הגבול?

                    מייל: nigun@duck.com

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • nigunN nigun

                      @dovid
                      לא דווקא תזוזות עכבר
                      אלא בדיקה איזה אירועים הוא מפעיל ובאיזה סדר
                      וכן כמה זמן הוא שוהה בכל דף
                      האם יש עוד פעולות שאני עושה ובוט לא?
                      בכל מקרה אני מניח שבעלי האתרים לא חוסמים כל מי שיש לו דירוג 0.7 ומטה
                      כי זה יהרוס להם את החוות משתמש
                      השאלה היא איפה הגבול?

                      dovidD מנותק
                      dovidD מנותק
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי dovid
                      #14

                      @nigun אתה במחילה עושה צחוק מכל העולם.
                      הreCaptcha נולד בגלל שהcaptcha המסורתי, שהיה קשה מאוד לרובוטים, נפרץ ע"י בינה מלאכותית ב98 אחוזים...
                      ולכן פיתחו את הreCaptcha שבא לעשות מענה הפוך - הוא רתם את הבינה המלאכותית כדי לזהות התנהגות אנושית (זה יכול להיות סוציולגית/ספונטנית וכל נתון שלא יהיה, והם שומרים בסוד את הפרמטרי הקלט עליהם הם נשענים) יחד עם המידע הכללי שיש לגוגל על כל משתמש בעולם. שניהם ביחד הם שילוב חזק מאוד.
                      כששאלת איך זה עובד הזדהיתי עם השאלה כי גם אותי זה גירה לדעת, אבל אם אתה שואל טכנית למה אי אפשר לעקוף את זה ע"י סימולציה של "אירועי הדף" שאתה כל הזמן מדבר עליהם, אז תבין שאת זה היה גם בזמן הcaptcha המסורתי...

                      אני הסברתי מצויין למה אי אפשר לעקוף עם המשל (אני קורא לזה משל כי בכלל לא בטוח שהם מתבססים על זה) של גיאומטריית העכבר. היום בבינה מלאכותית אתה נותן למחשב אוסף גדול של מדגמים שכבר סווגו, חציים לX וחציים לY, ועל פי זה האלגרותים של הבינה מלאכותית מסווג את המקרה הבא. איך זה עובד? הוא מחפש דפוס עקבי בכלל הנתונים שיש לכל מדגם והדפוס העקבי הזה בהינתן כח עיבוד גדול יכול להיות נוסחה שבן אדם בחיים לא יתפוס.
                      כעת האופציות שלך הם להזין לו מידע אמיתי, שזה יהיה בפעם השניה כפל לא סביר של ייחודיות, או לשחק עם הנתון האמיתי שללא ספק תפגע בנוסחת העקביות האנושית בצורה קשה.

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      nigunN תגובה 1 תגובה אחרונה
                      2
                      • dovidD dovid

                        @nigun אתה במחילה עושה צחוק מכל העולם.
                        הreCaptcha נולד בגלל שהcaptcha המסורתי, שהיה קשה מאוד לרובוטים, נפרץ ע"י בינה מלאכותית ב98 אחוזים...
                        ולכן פיתחו את הreCaptcha שבא לעשות מענה הפוך - הוא רתם את הבינה המלאכותית כדי לזהות התנהגות אנושית (זה יכול להיות סוציולגית/ספונטנית וכל נתון שלא יהיה, והם שומרים בסוד את הפרמטרי הקלט עליהם הם נשענים) יחד עם המידע הכללי שיש לגוגל על כל משתמש בעולם. שניהם ביחד הם שילוב חזק מאוד.
                        כששאלת איך זה עובד הזדהיתי עם השאלה כי גם אותי זה גירה לדעת, אבל אם אתה שואל טכנית למה אי אפשר לעקוף את זה ע"י סימולציה של "אירועי הדף" שאתה כל הזמן מדבר עליהם, אז תבין שאת זה היה גם בזמן הcaptcha המסורתי...

                        אני הסברתי מצויין למה אי אפשר לעקוף עם המשל (אני קורא לזה משל כי בכלל לא בטוח שהם מתבססים על זה) של גיאומטריית העכבר. היום בבינה מלאכותית אתה נותן למחשב אוסף גדול של מדגמים שכבר סווגו, חציים לX וחציים לY, ועל פי זה האלגרותים של הבינה מלאכותית מסווג את המקרה הבא. איך זה עובד? הוא מחפש דפוס עקבי בכלל הנתונים שיש לכל מדגם והדפוס העקבי הזה בהינתן כח עיבוד גדול יכול להיות נוסחה שבן אדם בחיים לא יתפוס.
                        כעת האופציות שלך הם להזין לו מידע אמיתי, שזה יהיה בפעם השניה כפל לא סביר של ייחודיות, או לשחק עם הנתון האמיתי שללא ספק תפגע בנוסחת העקביות האנושית בצורה קשה.

                        nigunN מנותק
                        nigunN מנותק
                        nigun
                        כתב ב נערך לאחרונה על ידי
                        #15

                        @dovid
                        לפי מה שהבנתי זה החלטה של בעל האתר באיזה רמה הוא חוסם את המשתמש
                        יש אתרים רגישים של אחרי כמה לחיצות ברצף ישר קופץ לך האימות ע"י בחירת תמונה
                        יש כאלו שמסתפקים בסימון V
                        ויש אתרים שרק אחרי הרבה כניסות מאותו IP הם מקפיצים את החסימה
                        אני מעשר שיש אתרים שמגדירים חסימה הרמטית לIP שיש לו דירוג נמוך באופן קבוע
                        אני לא חשבתי שאני יגיע עם רובוט לדירוג של 0.9
                        אבל עם קצת משחקים אולי אפשר לעלות מ0 ל0.2 או מה שזה לא יהיה
                        שיהיה בקטגוריה של האפשרות שזה בן אדם שיש לו סך הכל מילוי טפסים אוטומטי
                        ואז לפחות הIP שלי לא יחסם וכן באתרים שלא חופרים עם האימות כל רגע אני יוכל להיכנס
                        (כמובן שאם אני יגזים, בעל האתר אולי ישים לב שיש פה תנועה מוגזמת ויחליט להעלות את הרמה רגישות)

                        חוץ מזה יש עוד נושא האם אפשר לעקוף את המנגנון של reCaptcha 1 ע"י יצירת אירוע של קליק בדיוק כמו המשתמש
                        וכן האם אפשר לעקוף את reCaptcha2 ע"י שלחה התמונות לבדיקה אנושית (ששווה במקרים מסוימים)
                        שאגב עצם קיומו של חברה כזאת מצביע שיש כאלו יש משתמשים ברובוט באופן קבוע ולא נחסמים
                        אמנם יכול להיות שהלקוחות של החברה הזאת פיתחו לעצמם אלגוריתם שמדמה תנועות של לקוח וככה מעלים את הדירוג שלהם שלא יזהו שהם רובוט ולי אין את המשאבים לפיתוח כזה

                        מייל: nigun@duck.com

                        dovidD תגובה 1 תגובה אחרונה
                        0
                        • nigunN nigun

                          @dovid
                          לפי מה שהבנתי זה החלטה של בעל האתר באיזה רמה הוא חוסם את המשתמש
                          יש אתרים רגישים של אחרי כמה לחיצות ברצף ישר קופץ לך האימות ע"י בחירת תמונה
                          יש כאלו שמסתפקים בסימון V
                          ויש אתרים שרק אחרי הרבה כניסות מאותו IP הם מקפיצים את החסימה
                          אני מעשר שיש אתרים שמגדירים חסימה הרמטית לIP שיש לו דירוג נמוך באופן קבוע
                          אני לא חשבתי שאני יגיע עם רובוט לדירוג של 0.9
                          אבל עם קצת משחקים אולי אפשר לעלות מ0 ל0.2 או מה שזה לא יהיה
                          שיהיה בקטגוריה של האפשרות שזה בן אדם שיש לו סך הכל מילוי טפסים אוטומטי
                          ואז לפחות הIP שלי לא יחסם וכן באתרים שלא חופרים עם האימות כל רגע אני יוכל להיכנס
                          (כמובן שאם אני יגזים, בעל האתר אולי ישים לב שיש פה תנועה מוגזמת ויחליט להעלות את הרמה רגישות)

                          חוץ מזה יש עוד נושא האם אפשר לעקוף את המנגנון של reCaptcha 1 ע"י יצירת אירוע של קליק בדיוק כמו המשתמש
                          וכן האם אפשר לעקוף את reCaptcha2 ע"י שלחה התמונות לבדיקה אנושית (ששווה במקרים מסוימים)
                          שאגב עצם קיומו של חברה כזאת מצביע שיש כאלו יש משתמשים ברובוט באופן קבוע ולא נחסמים
                          אמנם יכול להיות שהלקוחות של החברה הזאת פיתחו לעצמם אלגוריתם שמדמה תנועות של לקוח וככה מעלים את הדירוג שלהם שלא יזהו שהם רובוט ולי אין את המשאבים לפיתוח כזה

                          dovidD מנותק
                          dovidD מנותק
                          dovid
                          ניהול
                          כתב ב נערך לאחרונה על ידי dovid
                          #16

                          @nigun לא אכפת לי כמה תגדיר לעצמך שזה קל, בכל מקרה תדע שאתה חי בסרט.
                          ההגדרה של תמונות או וי לא תלויה בהגדרת האתר אלא בגוגל, והיא עושה את זה בהתאם לחשדות שלה (גם מה שכתבת שגוגל הוסיפו זאת בהמשך לא נכון, מייד היה את זה רק שזה מופיע רק לחשודים. כמו"כ בגלל שגוגל עצמה מתבססת על בינה מלאכותית השתפרות הרובוטים רק משפרים את המנגנון ולא מצריכים לשכלל אותו).
                          ואתרים שמקבלים תרומות אולי מקבלים 0.2 השאר לא אכפת להם לשים 0.5 ומעלה, זה לא פוגע בכלל בחוויות משתמשים נורמליים.
                          (אתה גם כותב שאם תגזים בעל האתר יעלה את הרגישות כשאתה לא מבין שגוגל תשים לב מאה שנה לפניו ויורידו לך את הדירוג).

                          אין הבדל מהותי בין reCaptcha 1,2,3 וכל מה שאמרתי תקף לכולם.
                          וכל מפתח בוט (גם משנת ה2000 שהיה captcha פשוט של תוים בתמונה בלתי קשים) יודע לעשות אירוע קליק, כך שיש לך בעיה בסיסית של לחשוד את כולם בפיגור.

                          החברות עליהם אתה מדבר עובדים כנראה הרבה יותר פשוט, אתה אומר להם את בקשת האינטרנט אותה יש להפעיל והקאלבק איפה יחזור אליך התשובה, הם מפעילים אותה בדפדפן רגיל של אחד העובדים שמול מסך והוא עונה על הגדרת בן אדם ואז התשובה מגיעה למחשב שלהם ונשלחת משמה אליך. גם זה מצריך הרבה תחכום טכנולוגי מעבר לכח אדם כי הם צריכים לזייף שפע של פרטים כדי לא להיתפס.

                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                          nigunN תגובה 1 תגובה אחרונה
                          2
                          • dovidD dovid

                            @nigun לא אכפת לי כמה תגדיר לעצמך שזה קל, בכל מקרה תדע שאתה חי בסרט.
                            ההגדרה של תמונות או וי לא תלויה בהגדרת האתר אלא בגוגל, והיא עושה את זה בהתאם לחשדות שלה (גם מה שכתבת שגוגל הוסיפו זאת בהמשך לא נכון, מייד היה את זה רק שזה מופיע רק לחשודים. כמו"כ בגלל שגוגל עצמה מתבססת על בינה מלאכותית השתפרות הרובוטים רק משפרים את המנגנון ולא מצריכים לשכלל אותו).
                            ואתרים שמקבלים תרומות אולי מקבלים 0.2 השאר לא אכפת להם לשים 0.5 ומעלה, זה לא פוגע בכלל בחוויות משתמשים נורמליים.
                            (אתה גם כותב שאם תגזים בעל האתר יעלה את הרגישות כשאתה לא מבין שגוגל תשים לב מאה שנה לפניו ויורידו לך את הדירוג).

                            אין הבדל מהותי בין reCaptcha 1,2,3 וכל מה שאמרתי תקף לכולם.
                            וכל מפתח בוט (גם משנת ה2000 שהיה captcha פשוט של תוים בתמונה בלתי קשים) יודע לעשות אירוע קליק, כך שיש לך בעיה בסיסית של לחשוד את כולם בפיגור.

                            החברות עליהם אתה מדבר עובדים כנראה הרבה יותר פשוט, אתה אומר להם את בקשת האינטרנט אותה יש להפעיל והקאלבק איפה יחזור אליך התשובה, הם מפעילים אותה בדפדפן רגיל של אחד העובדים שמול מסך והוא עונה על הגדרת בן אדם ואז התשובה מגיעה למחשב שלהם ונשלחת משמה אליך. גם זה מצריך הרבה תחכום טכנולוגי מעבר לכח אדם כי הם צריכים לזייף שפע של פרטים כדי לא להיתפס.

                            nigunN מנותק
                            nigunN מנותק
                            nigun
                            כתב ב נערך לאחרונה על ידי
                            #17

                            @dovid
                            כנראה יש עוד מדומיינים כמוני
                            למשל כותב המאמר הזה
                            טוען שאפשר לשלוח לחברה את המפתח היחודי של reCaptcha
                            והחברה תקבל את השאלה ותשלח חזרה את הטוקן התואם ושאפשר לעבור את החסימה של reCaptcha ע"י הטוקן הנ"ל,
                            נשמע לי מוזר, אבל הוא טוען (בסוף המאמר) שהסיבה לכך זה היא שreCaptcha נועד רק לחסימת בוטים ששולחים אלפי בקשות בו זמנית ומעמיסים על השרת, ולא לחסום את מי שרוצה לבנות לעצמו בוט קטן שישלח הודעות בשמו או משהו כזה.
                            יכול להיות שיש לי בעיות בהבנת הנקרא (הקריאה שלי באנגלית די איטית ואני מדלג קטעים שנראים לי פחות חשובים)
                            תקן אותי אם אני טועה

                            מייל: nigun@duck.com

                            dovidD תגובה 1 תגובה אחרונה
                            0
                            • nigunN nigun

                              @dovid
                              כנראה יש עוד מדומיינים כמוני
                              למשל כותב המאמר הזה
                              טוען שאפשר לשלוח לחברה את המפתח היחודי של reCaptcha
                              והחברה תקבל את השאלה ותשלח חזרה את הטוקן התואם ושאפשר לעבור את החסימה של reCaptcha ע"י הטוקן הנ"ל,
                              נשמע לי מוזר, אבל הוא טוען (בסוף המאמר) שהסיבה לכך זה היא שreCaptcha נועד רק לחסימת בוטים ששולחים אלפי בקשות בו זמנית ומעמיסים על השרת, ולא לחסום את מי שרוצה לבנות לעצמו בוט קטן שישלח הודעות בשמו או משהו כזה.
                              יכול להיות שיש לי בעיות בהבנת הנקרא (הקריאה שלי באנגלית די איטית ואני מדלג קטעים שנראים לי פחות חשובים)
                              תקן אותי אם אני טועה

                              dovidD מנותק
                              dovidD מנותק
                              dovid
                              ניהול
                              כתב ב נערך לאחרונה על ידי
                              #18

                              @nigun במקום לדמיין תעשה ואל תשכח לבוא לפה עם התוצאות.
                              תוכל להיעזר ברפוזיטורי של מדומיינים: https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-recaptcha.

                              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                              dovidD nigunN 2 תגובות תגובה אחרונה
                              1
                              • dovidD dovid

                                @nigun במקום לדמיין תעשה ואל תשכח לבוא לפה עם התוצאות.
                                תוכל להיעזר ברפוזיטורי של מדומיינים: https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-recaptcha.

                                dovidD מנותק
                                dovidD מנותק
                                dovid
                                ניהול
                                כתב ב נערך לאחרונה על ידי
                                #19

                                פה אפשר לעשות טסטים:
                                https://recaptcha-demo.appspot.com/recaptcha-v2-invisible.php

                                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                תגובה 1 תגובה אחרונה
                                0
                                • שואףש מנותק
                                  שואףש מנותק
                                  שואף
                                  כתב ב נערך לאחרונה על ידי
                                  #20

                                  תחום הקאפצ'ות עמוק ורחב..
                                  התרומה הצנועה שלי לנושא, היא שלא נכון להגיד שהחישוב של גוגל מבוצע על העכבר (עכ"פ ודאי לא רק), ולא יעזור כל כך להתאמץ בכיוון הזה.
                                  הראייה, שבמסכי מגע, אתה נוגע רק בתמונה בדיוק, בלי להזיז שום עכבר, וזה עובר.

                                  ליצירת קשר: admin@i-call.me

                                  הידד! גישה למייל גם בלי מחשב ואינטרנט!

                                  תגובה 1 תגובה אחרונה
                                  3
                                  • dovidD dovid

                                    @nigun במקום לדמיין תעשה ואל תשכח לבוא לפה עם התוצאות.
                                    תוכל להיעזר ברפוזיטורי של מדומיינים: https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-recaptcha.

                                    nigunN מנותק
                                    nigunN מנותק
                                    nigun
                                    כתב ב נערך לאחרונה על ידי nigun
                                    #21

                                    @dovid
                                    קודם כל אני צריך ללמוד איך בונים בוט בלי קאפצ'ה
                                    איך בוחרים את האלמנטים מתוך הHTML וJS
                                    ואחר כך נראה איך עוקפים את הקאפצ'ה

                                    מייל: nigun@duck.com

                                    dovidD תגובה 1 תגובה אחרונה
                                    0
                                    • nigunN nigun

                                      @dovid
                                      קודם כל אני צריך ללמוד איך בונים בוט בלי קאפצ'ה
                                      איך בוחרים את האלמנטים מתוך הHTML וJS
                                      ואחר כך נראה איך עוקפים את הקאפצ'ה

                                      dovidD מנותק
                                      dovidD מנותק
                                      dovid
                                      ניהול
                                      כתב ב נערך לאחרונה על ידי
                                      #22

                                      @nigun לא יכולתי לנסח את זה טוב יותר...

                                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                      nigunN תגובה 1 תגובה אחרונה
                                      0
                                      • dovidD dovid

                                        @nigun לא יכולתי לנסח את זה טוב יותר...

                                        nigunN מנותק
                                        nigunN מנותק
                                        nigun
                                        כתב ב נערך לאחרונה על ידי nigun
                                        #23

                                        אם זה מעניין מישהו
                                        זה קוד שכתבתי עם chromedp (שזה כדומה לSelenium אבל בGO)
                                        בשביל לבנות את הבסיס להגדרת פרופיל זמני דרך הטלפון

                                        
                                        package main
                                        
                                        import (
                                        	"context"
                                        	"log"
                                        	"time"
                                        	"github.com/chromedp/chromedp"
                                        )
                                        
                                        func main() {
                                        	
                                        	opts := append(chromedp.DefaultExecAllocatorOptions[:],
                                        		//הפעלת כרום במצב GPU
                                                        chromedp.Flag("headless", false),
                                        		chromedp.Flag("disable-gpu", false),
                                        			)
                                        	allocCtx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)
                                        	defer cancel()
                                        
                                        	ctx, cancel := chromedp.NewContext(allocCtx, chromedp.WithLogf(log.Printf))
                                        	defer cancel()
                                        
                                        	err := chromedp.Run(ctx, sendkeys())
                                        	if err != nil {
                                        		log.Fatal(err)
                                        	}
                                        	// sendkeys sends
                                        func sendkeys() chromedp.Tasks {
                                        	return chromedp.Tasks{
                                                        //ניווט לעמוד של הגדרות סינון
                                        		chromedp.Navigate("https://netfree.link/user#/user/filter-settings"),
                                        		//המתנה לשדה של שם משתמש וסיסמה להטען
                                                        chromedp.WaitVisible(`//*[@name="phoneNumber"]`, chromedp.BySearch),
                                        		chromedp.WaitVisible(`//*[@name="password"]`, chromedp.BySearch),
                                        		//שליחת העריכם של שם משתמש וסיסמה
                                                        chromedp.SendKeys(`input[name="phoneNumber"]`, "05212345", chromedp.NodeVisible),
                                        		chromedp.SendKeys(`input[name="password"]`, "pass", chromedp.NodeVisible),
                                        //כניסה
                                        		chromedp.Click(`//*[@type="submit"]`, chromedp.BySearch),
                                        				//המתנה 3 שניות
                                                        chromedp.Sleep(3 * time.Second),
                                        		//לחיצה על הפתור של הפעלת פרופיל זמני
                                        		chromedp.Click(`button.btn.btn-default.btn-xs`, chromedp.ByQuery),
                                        		//בחירת הפרופיל(חסום)
                                        		chromedp.SendKeys(`//select[@ng-model="editTmp.profile"]`, "חסום", chromedp.BySearch),
                                        		//הגרת הזמן
                                                        chromedp.SendKeys(`//input[@ng-model="editTmp.time"]`, "1", chromedp.BySearch),
                                        		//שמירה
                                                        chromedp.Click(`.fa.fa-check`, chromedp.ByQuery),
                                        		chromedp.Click(`.btn.btn-primary.pull-end`, chromedp.ByQuery),
                                        		//סיסמת הגדרות פרופיל
                                                        chromedp.SendKeys(`input.form-control`, "aaa1234", chromedp.ByQuery),
                                        		
                                        		chromedp.Sleep(3 * time.Second),
                                        		}
                                        }
                                        
                                        

                                        אמנם קצת הסתבכתי עם זה
                                        כי אין ID כמעט בכל הדף ואני צריך להשתמש רק בקלאס או ערכים אחרים וזה הקשה קצת על תפיסת האובייקט הנכון
                                        אשמח לשמוע תגובות על זה
                                        האם יש דרך יותר חכמה לישם את זה?
                                        (אם מישהו רוצה את זה מקומפל בשביל לראות איך זה נראה על המחשב האישי? אני יכול לשלוח)

                                        מייל: nigun@duck.com

                                        dovidD תגובה 1 תגובה אחרונה
                                        1
                                        • nigunN nigun

                                          אם זה מעניין מישהו
                                          זה קוד שכתבתי עם chromedp (שזה כדומה לSelenium אבל בGO)
                                          בשביל לבנות את הבסיס להגדרת פרופיל זמני דרך הטלפון

                                          
                                          package main
                                          
                                          import (
                                          	"context"
                                          	"log"
                                          	"time"
                                          	"github.com/chromedp/chromedp"
                                          )
                                          
                                          func main() {
                                          	
                                          	opts := append(chromedp.DefaultExecAllocatorOptions[:],
                                          		//הפעלת כרום במצב GPU
                                                          chromedp.Flag("headless", false),
                                          		chromedp.Flag("disable-gpu", false),
                                          			)
                                          	allocCtx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)
                                          	defer cancel()
                                          
                                          	ctx, cancel := chromedp.NewContext(allocCtx, chromedp.WithLogf(log.Printf))
                                          	defer cancel()
                                          
                                          	err := chromedp.Run(ctx, sendkeys())
                                          	if err != nil {
                                          		log.Fatal(err)
                                          	}
                                          	// sendkeys sends
                                          func sendkeys() chromedp.Tasks {
                                          	return chromedp.Tasks{
                                                          //ניווט לעמוד של הגדרות סינון
                                          		chromedp.Navigate("https://netfree.link/user#/user/filter-settings"),
                                          		//המתנה לשדה של שם משתמש וסיסמה להטען
                                                          chromedp.WaitVisible(`//*[@name="phoneNumber"]`, chromedp.BySearch),
                                          		chromedp.WaitVisible(`//*[@name="password"]`, chromedp.BySearch),
                                          		//שליחת העריכם של שם משתמש וסיסמה
                                                          chromedp.SendKeys(`input[name="phoneNumber"]`, "05212345", chromedp.NodeVisible),
                                          		chromedp.SendKeys(`input[name="password"]`, "pass", chromedp.NodeVisible),
                                          //כניסה
                                          		chromedp.Click(`//*[@type="submit"]`, chromedp.BySearch),
                                          				//המתנה 3 שניות
                                                          chromedp.Sleep(3 * time.Second),
                                          		//לחיצה על הפתור של הפעלת פרופיל זמני
                                          		chromedp.Click(`button.btn.btn-default.btn-xs`, chromedp.ByQuery),
                                          		//בחירת הפרופיל(חסום)
                                          		chromedp.SendKeys(`//select[@ng-model="editTmp.profile"]`, "חסום", chromedp.BySearch),
                                          		//הגרת הזמן
                                                          chromedp.SendKeys(`//input[@ng-model="editTmp.time"]`, "1", chromedp.BySearch),
                                          		//שמירה
                                                          chromedp.Click(`.fa.fa-check`, chromedp.ByQuery),
                                          		chromedp.Click(`.btn.btn-primary.pull-end`, chromedp.ByQuery),
                                          		//סיסמת הגדרות פרופיל
                                                          chromedp.SendKeys(`input.form-control`, "aaa1234", chromedp.ByQuery),
                                          		
                                          		chromedp.Sleep(3 * time.Second),
                                          		}
                                          }
                                          
                                          

                                          אמנם קצת הסתבכתי עם זה
                                          כי אין ID כמעט בכל הדף ואני צריך להשתמש רק בקלאס או ערכים אחרים וזה הקשה קצת על תפיסת האובייקט הנכון
                                          אשמח לשמוע תגובות על זה
                                          האם יש דרך יותר חכמה לישם את זה?
                                          (אם מישהו רוצה את זה מקומפל בשביל לראות איך זה נראה על המחשב האישי? אני יכול לשלוח)

                                          dovidD מנותק
                                          dovidD מנותק
                                          dovid
                                          ניהול
                                          כתב ב נערך לאחרונה על ידי
                                          #24

                                          @nigun אמר באיך בונים בוט מושלם?:

                                          האם יש דרך יותר חכמה לישם את זה?

                                          @dovid אמר באיך בונים בוט מושלם?:

                                          הפשוטה ביותר (מהפן התכנותי/טכני של הפעולה עצמה) זה לעשות מיני "הנדסה לאחור" לאתר,
                                          ופשוט לעשות אותו דבר. בלי עכבר ובלי בוט. למשל בלוגין לאתר זה לאחזר את AntiForgeryToken ואח"כ לשלוח פוסט איתו ועם שם המשתמש וסיסמה. ב99% מהאתרים והפעולות זה עובד יופי.

                                          לשלושת הבעיות הראשונות יש ספריות בסגנון של סילניום ... זה יקר מאוד בביצועים .... ואני גם ממליץ לא להשתמש בספריה בסגנון אם אין בעיה מהסוגים האלו.

                                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                          nigunN 2 תגובות תגובה אחרונה
                                          0
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          • 3
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום