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

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

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

טעינת סיסמאות ב-nodejs נכשלת

מתוזמן נעוץ נעול הועבר תכנות
18 פוסטים 4 כותבים 439 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מ מנותק
    מ מנותק
    מיכי י-ם
    כתב ב נערך לאחרונה על ידי
    #6

    זה הקוד שטוען את הסיסמה

    class Client {
      wikiUrl;
      #cookie = "";
      userName = process.env.USER || "";
      #password = process.env.PASSWORD || "";
      isLogedIn = false;
      /**
       *
       * @param {String} wikiUrl
       */
      constructor(wikiUrl) {
        if (!wikiUrl) {
          throw new Error("you didn't pass the url of your wiki");
        }
        this.wikiUrl = wikiUrl;
      }
      async #postWiki(body) {
        return fetch(this.wikiUrl, {
          headers: {
            "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
            "user-agent": "node-fetch mw-api-node-client",
            cookie: this.#cookie,
          },
          method: "POST",
          credentials: "include",
          body: new URLSearchParams({ format: "json", utf8: 1, ...body }),
        });
      }
      async getWikiWithCookie(queryString) {
        if (!this.isLogedIn) {
          await this.login();
        }
        return fetch(`${this.wikiUrl}?${queryString}`, {
          headers: { cookie: this.#cookie },
        });
      }
      /**
       * method to login the user and get a cookie for forther operations
       * @param {String} [userName]
       * @param {String} [password]
       * @returns {Promise<Boolean>}
       */
      async login(userName, password) {
        if (userName) {
          this.userName = userName;
        }
        if (password) {
          this.#password = password;
        }
        if (!this.userName && !this.#password) {
          throw new Error("you dinwt pass your user name or your password");
        }
    

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

    import dotenv from "dotenv";
    dotenv.config({path: 'C:/Tachnot/mw-bot-master copy/.env', debug: true});
    
    תגובה 1 תגובה אחרונה
    0
    • אלישיא מנותק
      אלישיא מנותק
      אלישי
      כתב ב נערך לאחרונה על ידי אלישי
      #7

      ראשית כל, תמיד כדאי לתת לקבצים ולתיקיות שמות ללא רווחים, ולכן תתחיל עם זה שאת הנתיב הזה: path: 'C:/Tachnot/mw-bot-master copy/.env' תעשה ללא רווחים כלל, תוסיף מקף במקום רווח ככה:

      path: 'C:/Tachnot/mw-bot-master-copy/.env'
      
      משתמש תמיםמ תגובה 1 תגובה אחרונה
      0
      • משתמש תמיםמ מנותק
        משתמש תמיםמ מנותק
        משתמש תמים
        השיב לאלישי ב נערך לאחרונה על ידי משתמש תמים
        #8

        להסביר את דברי @אלישי, צריך לשנות את שם התיקיה
        לא מספיק לשנות את הנתיב בקובץ

        אם זה לא מסתדר היה כדאי גם שתעלה את השגיאה כמו שהיא עם שם הקובץ בלי שינוי

        עזרתי לך? תראה לי את זה על ידי לחיצה על ה^ בצד שמאל למטה.

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

          image.png

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

            אתה בטוח שבקובץ C:/Tachnot/mw-bot-master copy/.env יש שורה עם PASSWORD=XXX?
            כמו"כ אם אתה יכול להביא את הקוד שטוען את הPASSWORD מתוך הenv, זה בעצם העיקר.

            @אלישי + @משתמש-תמים אני לא יודע למה החלטתם שהבעיה זה רווח, ממתי רווח מפריע בנתיב מוקף מרכאות?
            אצלי בכל אופן עובד:

            6144a166-ee76-4741-baee-9776eab429b6-image.png

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            מ תגובה 1 תגובה אחרונה
            2
            • מ מנותק
              מ מנותק
              מיכי י-ם
              השיב לdovid ב נערך לאחרונה על ידי מיכי י-ם
              #11

              @dovid ניסיתי לטעון את הקוד שלך, ואת זה קבלתי:d9d874e2-37a1-4198-803e-76cc6900183a-image.png

              סליחה זו הייתה טעות בקוד.
              כעת קבלתי: undefined

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

                כנראה כי בקובץ C:/Tachnot/mw-bot-master copy/.env אין שורה כזו: PASSWORD=123.

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                  צריך להוסיף . לפני?

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

                    לא, זה סוף המשפט שלי...

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                      image.png
                      (אולי אפשר להוסיף לי נקודות שאוכל להגיב יותר מהר😉 )

                      הקוד שטוען, זה הקוד הראשון שצרפתי.

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

                        אוקי, אז רק תוסיף שמה (בconstructor של הclient) עוד שורה:

                        console.log(process.env.PASSWORD);
                        

                        זה מדפיס את הערך הנכון?

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                          @dovid לא, זה מחזיר undefined

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

                            בסוף מחקתי את הקובץ, יצרתי מחדש, והבאג נעלם.

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

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

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

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