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

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

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

יצירת מזהה לקוח

מתוזמן נעוץ נעול הועבר תכנות
18 פוסטים 3 כותבים 1.0k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    אביחיל
    כתב ב נערך לאחרונה על ידי
    #7

    עשיתי לפי הפתרון של הוספת אישור לוינדוס
    2023-12-26 00_10_44-.png

    עכשיו הבעיה שלי שאני לא מוצא את המידע הזה בשרת
    זה הקוד לשרת

    // Import of net module
    const net = require("net");
    const server = net.createServer();
    
    server.on("connection", (clientToProxySocket) => {
        console.log("Client connected to proxy");
        clientToProxySocket.once("data", (data) => {
            let isTLSConnection = data.toString().indexOf("CONNECT") !== -1;
    
            let serverPort = 80;
            let serverAddress;
            console.log(data.toString());
            if (isTLSConnection) {
                serverPort = 443;
                serverAddress = data
                    .toString()
                    .split("CONNECT")[1]
                    .split(" ")[1]
                    .split(":")[0];
            } else {
                serverAddress = data.toString().split("Host: ")[1].split("\r\n")[0];
            }
            console.log(serverAddress);
    
            // Creating a connection from proxy to destination server
            let proxyToServerSocket = net.createConnection(
                {
                    host: serverAddress,
                    port: serverPort,
                },
                () => {
                    console.log("Proxy to server set up");
                }
            );
    
    
            if (isTLSConnection) {
                clientToProxySocket.write("HTTP/1.1 200 OK\r\n\r\n");
            } else {
                proxyToServerSocket.write(data);
            }
    
            clientToProxySocket.pipe(proxyToServerSocket);
            proxyToServerSocket.pipe(clientToProxySocket);
    
            proxyToServerSocket.on("error", (err) => {
                console.log("Proxy to server error");
                console.log(err);
            });
    
            clientToProxySocket.on("error", (err) => {
                console.log("Client to proxy error");
                console.log(err)
            });
        });
    });
    
    server.on("error", (err) => {
        console.log("Some internal server error occurred");
        console.log(err);
    });
    
    server.on("close", () => {
        console.log("Client disconnected");
    });
    
    server.listen(
        {
            host: "0.0.0.0",
            port: 8080,
        },
        () => {
            console.log("Server listening on 0.0.0.0:8080");
        }
    );
    
    

    קרדיט https://github.com/kasattejaswi/nodejs-proxy-server/blob/main/proxy.js
    אני לא מצליח למוצא את המידע בdata שמתקבלת מהלקוח

    אשמח לכל ערה בנידון תודה רבה

    צדיק תמיםצ yossizY 2 תגובות תגובה אחרונה
    0
    • צדיק תמיםצ מנותק
      צדיק תמיםצ מנותק
      צדיק תמים
      השיב לאביחיל ב נערך לאחרונה על ידי צדיק תמים
      #8

      @אביחיל לא יודע אם עוזר ספציפית לעניין האימות
      אבל נראה לי מיותר לממש מאפס פרוקסי כשיש לך ספריות דוגמת https://github.com/http-party/node-http-proxy

      Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
      טיפים

      תגובה 1 תגובה אחרונה
      0
      • א מנותק
        א מנותק
        אביחיל
        כתב ב נערך לאחרונה על ידי
        #9

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

        yossizY תגובה 1 תגובה אחרונה
        1
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לאביחיל ב נערך לאחרונה על ידי
          #10

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

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          תגובה 1 תגובה אחרונה
          0
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לאביחיל ב נערך לאחרונה על ידי
            #11

            @אביחיל כתב ביצירת מזהה לקוח:

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

            לפי מה שבדקתי בעבר הלא רחוק, אתה צודק, אין כל כך משהו מוכן לצורך זה

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            תגובה 1 תגובה אחרונה
            3
            • א מנותק
              א מנותק
              אביחיל
              כתב ב נערך לאחרונה על ידי אביחיל
              #12

              @yossiz לפי מה שנראה בקישור ששלחת זה מיועד לפרוטוקול HTTP ונראה לי שהפרוקסי של וינדוס עובד על פרוטוקול אחר אני צודק?

              הסיבה שאני חושב כך זה בגלל שאם אני בונה שרת רגיל של אקספרס ומכניס את הפרטים שלו בהגדרות הפרוקסי של וינדוס השרת בכלל לא מגיב

              yossizY 2 תגובות תגובה אחרונה
              0
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב לאביחיל ב נערך לאחרונה על ידי yossiz
                #13

                @אביחיל כתב ביצירת מזהה לקוח:

                אני צודק?

                לא (יש אפשרות לפרוקסי SOCKS, אבל בסתם זה פרוקסי HTTP). גם הקוד שלך הוא עבור פרוקסי HTTP

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                א תגובה 1 תגובה אחרונה
                0
                • א מנותק
                  א מנותק
                  אביחיל
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #14

                  @yossiz כתב ביצירת מזהה לקוח:

                  לא (יש אפשרות לפרוקסי SOCKS, אבל בסתם זה פרוקסי HTTP). גם הקוד שלך הוא עבור פרוקסי HTTP

                  @אביחיל כתב ביצירת מזהה לקוח:

                  הסיבה שאני חושב כך זה בגלל שאם אני בונה שרת רגיל של אקספרס ומכניס את הפרטים שלו בהגדרות הפרוקסי של וינדוס השרת בכלל לא מגיב

                  ומה הסיבה לזה?

                  תגובה 1 תגובה אחרונה
                  0
                  • yossizY מנותק
                    yossizY מנותק
                    yossiz
                    השיב לאביחיל ב נערך לאחרונה על ידי
                    #15

                    @אביחיל כתב ביצירת מזהה לקוח:

                    הסיבה שאני חושב כך זה בגלל שאם אני בונה שרת רגיל של אקספרס ומכניס את הפרטים שלו בהגדרות הפרוקסי של וינדוס השרת בכלל לא מגיב

                    יכול להיות שזה בגלל שרוב ככל הבקשות הם עם מתודת CONNECT ולא GET (דבר זה נצרך עבור HTTPS). בברירת מחדל אקפרס לא מגיב ל-CONNECT

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    תגובה 1 תגובה אחרונה
                    2
                    • א מנותק
                      א מנותק
                      אביחיל
                      כתב ב נערך לאחרונה על ידי
                      #16

                      @yossiz אני יבדוק את זה תודה רבה על המענה הנעים
                      וגם ל@צדיק-תמים

                      תגובה 1 תגובה אחרונה
                      1
                      • א מנותק
                        א מנותק
                        אביחיל
                        כתב ב נערך לאחרונה על ידי אביחיל
                        #17

                        ישבתי על זה כמה שעות הצלחתי להאזין לבקשות CONNECT רק בשרת של המודול HTTP

                        const server = http.createServer()
                        server.on('connect', (request, clientSocket, head) => {
                            const { method, url, headers } = request;
                            console.log(headers);
                        

                        האם מישהו יודע איך אפשר לעשות את זה גם במודול exspres

                        תגובה 1 תגובה אחרונה
                        0
                        • א מנותק
                          א מנותק
                          אביחיל
                          כתב ב נערך לאחרונה על ידי
                          #18

                          בנוסף אחרי שהגדרתי שיגיב קודם כול עם סטטוס 407 כמו שכתב פה @yossiz
                          מיד שהתחלתי בגלישה דרך הפרוקסי קפץ לי חלון בדפדפן

                          image.png

                          הכנסתי פרטים והכל עבד כשורה ב"ה
                          הבעיה היא כשאני רוצה להכניס פרטים חדשים אני לא מוצא איפה לשנות את זה
                          אשמח לכל עזרה בנידון תודה רבה

                          תגובה 1 תגובה אחרונה
                          0

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

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

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