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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
5

5566brs

@5566brs
אודות
פוסטים
116
נושאים
6
שיתופים
0
קבוצות
0
עוקבים
0
עוקב אחרי
0

פוסטים

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

  • מכירת מוצר (סקריפט) צד לקוח - איך לפקח על שימוש בתשלום?
    5 5566brs

    @צדיק-תמים אמר במכירת מוצר (סקריפט) צד לקוח - איך לפקח על שימוש בתשלום?:

    אולי איזה אימות עם חשבון גוגל? לא יודע...

    רעיון מצוין.
    אם השימוש הוא לעתים רחוקות, אפשר לשלוח קוד לדוא"ל, או קוד דרך הטלפון.

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

    תכנות

  • מכירת מוצר (סקריפט) צד לקוח - איך לפקח על שימוש בתשלום?
    5 5566brs

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

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

    תכנות

  • מירג'וג' פירידאפים מרובים לתוך קובץ אחד
    5 5566brs

    @ארכיטקט אני לא עשיתי את מה שאתה מתאר, רק משהו דומה ובהיקף קטן יותר (תמונות לקובץ PDF), אבל זה אפשרי לעשות את זה עם אותה ספריה
    https://pdf-lib.js.org/
    הבעיה העיקרית (כללית, לא משנה המימוש) שבמידה ומדובר בקבצים בנפח כולל גדול, נדרש זכרון (בשרת או אצל הלקוח - איפה שזה יבוצע) בזמן הביצוע כגודל הכולל של הקובץ.
    אולי תיאורטית יש דרך להזרים לדיסק בלי צורך לסגור את הקובץ מראש - לא נראה לי.
    זה בעיה שלא קשורה, אבל תחשוב על זה מראש כשאתה מרים סרוויס..

    תכנות

  • nodejs הגדרת פונקציית השרת כ async
    5 5566brs

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

    תכנות

  • פרקטיקת התמודדות מוצלחת עם מחרוזות טקסט ארוכות
    5 5566brs

    @צדיק-תמים אמר בפרקטיקת התמודדות מוצלחת עם מחרוזות טקסט ארוכות:

    ה-pithy לא הצלחתי למצוא CDN שלו בגוגל כדי לטעון אותו.

    https://cdn.jsdelivr.net/gh/caolan/pithy@latest/lib/pithy.min.js

    תכנות

  • אתר להורדה מיוטיוב דרך API (שעובד בנטפרי)
    5 5566brs

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

    רשתות

  • בקשה להמלצות על ערוצים/סרטונים של תכנות והמסתעף
    5 5566brs

    https://github.com/lydiahallie/javascript-questions
    https://github.com/public-apis/public-apis
    https://github.com/leonardomso/33-js-concepts

    מדריכים

  • בקשה להמלצות על ערוצים/סרטונים של תכנות והמסתעף
    5 5566brs

    מוכר, אבל ..
    https://github.com/sindresorhus/awesome

    מדריכים

  • בקשה להמלצות על ערוצים/סרטונים של תכנות והמסתעף
    5 5566brs

    @dovid
    JS:
    https://1loc.dev/
    https://javascript.plainenglish.io/20-javascript-shorthand-techniques-that-will-save-your-time-f1671aab405f
    https://www.30secondsofcode.org/
    https://github.com/trekhleb/javascript-algorithms
    CSS:
    https://csslayout.io/
    bash\shell
    https://linuxcommand.org/
    אבטחת מידע:
    https://github.com/riramar/Web-Attack-Cheat-Sheet
    https://cyber-eliya.com/ (בעברית)
    זה מה שכרגע נזכרתי או שמרתי ממה שראיתי בעבר, אם יהיה עוד אשתדל לשתף.

    מדריכים

  • בקשה להמלצות על ערוצים/סרטונים של תכנות והמסתעף
    5 5566brs

    זה שייך ל"מסתעף":
    https://github.com/awesome-selfhosted/awesome-selfhosted
    https://github.com/trimstray/the-book-of-secret-knowledge
    https://github.com/ripienaar/free-for-dev
    יש עוד כמה וכמה כאלו, השאלה אם זה גם כיוון טוב.

    מדריכים

  • בעיה בתוכנת WSAToolbox
    5 5566brs

    @זלמן
    נסה גם אופציה נוספת:
    לפתוח את קובץ התוכנה באמצעות תוכנת 7-ZIP ולחלץ את כל התוכן שלה לתיקייה כלשהי (עדיף ריקה ובמיקום מסודר).
    לאחר מכן הפעל את הקובץ wsatoolbox.hta .

    תוכנה

  • אצווה כמנהל
    5 5566brs

    @פלורידה
    ראה לדוגמה
    https://f1.210.co.il/fix-le.bat
    מכאן
    https://netfree.link/wiki/תיקון_בעיית_פג_תוקף_של_תעודת_Lets_Encrypt
    יש עוד אופציות שמופיעות בחיפוש SO

    תכנות

  • ספריית nodemailer והאבטחה של גוגל
    5 5566brs

    @katz אין לי ניסיון מספק בנושא שליחת מייל דרך שרתי GMAIL (כשניסיתי כמה פעמים זה כן עבד, וזה היה די מזמן, אולי אתה משתמש בחיבור לא מאובטח כלומר בSMTP לא מאובטח כדי לגשת לשרתי גוגל).

    יש כאן גם אלמנט של מניעת שימוש מסחרי בשירות שלהם.

    למה שלא תשקול לרכוש דומיין ולהקים שרת SMTP פרטי.
    או לשלוח דרך שירותים צד ג'.

    תכנות

  • פוסט שיתוף תוכן | יישום רשימה שחורה בשרתי node.js
    5 5566brs

    לא מזמן נתקלתי בתכונה חמודה שנוספה לאובייקט net - המודול המובנה בnode.js לטיפול בתעבורת רשת.

    האובייקט שנוסף נקרא BlockList, והוא מאפשר לשמור ולעדכן (באופן חד-כיווני) רשימה "שחורה" של מספרי IP או טווח של מספרים כאלו, בצמוד לאובייקט net.

    ומה קורה כשמתקבלת בקשה בשרת ממספר שנמצא ברשימה הרשחורה? - טוב ששאלתם: כלום.. כלומר, קורה בדיוק מה שקורה כשמספר אחר שולח בקשה דומה.

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

    אז איך זה יכול לעזור לנו לממש את החלומות על מערכת מפולטרת ומאובטחת שתמיד חלמנו לפתח?
    אז זהו שלא ממש עוזר, אבל נחמד זה כן.

    קוד בסיסי לדוגמה עבור המודול HTTP:

    const http = require('http');
    const net = require('net');
    let server = http.createServer((req, res) => {
        //console.log(`source ip: ${req.socket.remoteAddress} ,BlockList rules: ${res.socket.server.BlockList.rules} ,ip match rules: ${res.socket.server.BlockList.check(req.socket.remoteAddress)}`);
        if (server.BlockList.check(req.socket.remoteAddress)) {
            res.statusCode = 403;
            return res.end();
        }
        res.end('hello FILTERED world!')
    
    });
    const BlockList = new net.BlockList();
    BlockList.addAddress('127.0.0.1', 'ipv4');
    server.BlockList = BlockList;
    server.listen(8080, '0.0.0.0');
    

    ובשימוש בexpress ניתן להוסיף middleware:

    app.use((req, res, next) => {
        if (req.socket.server.BlockList.check(req.socket.remoteAddress)) {
            return res.status(403).end();
        next();
    });
    
    

    כמה נקודות:

    1. עבור השימוש בתכונה יש צורך לעדכן את Node לגירסה 15.x באמצעות כלי האקרובטיקה האהוב עליכם.
    2. כדי שזה יעבוד, יש צורך להוסיף לפונקציה listen() מספר של host שמאזין לבקשות הנשלחות. אם לא תעשו את זה, אלא תשאירו את הפרמטר ריק, מה שיקרה הוא שמספרי IPV4 לא יתאימו לכללים שהוספתם, בגלל מנגנון שנקרא dual-stack support, שהופך מספרי IPV4 למשולבי IPV6 (ייתכן שזה באג, אבל זה המצב כעת).
    3. אם אתם משתמשים בnginx ודרכו הגישה לNode, בדרך כלל הגישה לIP של שולח הבקשה הוא דרך הheader x-forwarded-for.
    4. כפי שציינתי לפני כן, אין אפשרות להוציא מספר שנחסם מהרשימה. אבל סביר להניח שאפשר לפתור את זה איכשהו.. או אפילו לכתוב modoule חדש שיעשה בדיוק את זה, ולתרום אותו לאנושות.
    5. את החסימה בפועל תצטרכו לממש בעצמכם.
    6. בדוגמה שצורפה החסימה היא באמצעות הודעת שגיאה 403. אפשר גם להוסיף קאפצ'ה, ומנגנוני זיהוי לבוטים, ושמירה של המידע בDB לשימוש עתידי, ועוד ועוד כיד הדמיון..

    לחסום את אלו שברשימה השחורה באופן "מקצועי", כלומר לחסום את האפשרות ליצור socket עם השרת (בשונה מהקמת סוקט ושליחת תוכן בתוך הסוקט, כשהתוכן כולל הודעת חסימה), באמצעות REJECT או DROP (מונחים שמתייחסים לתעבורת הTCP: שליחת הודעת ניתוק בעת ניסיון ליצור סוקט, או חוסר תגובה לניסיון כזה, בהתאמה) לא ניתן באמצעות הprocess של Node עצמו (וגם לא באמצעות python לדוגמה) בלי התממשקות עם מערכת ההפעלה באופן כלשהו (בlinux התממשקות עם netfilter, ובwin עם winsock), מכיון שמערכת ההפעלה היא זו שמקימה את החיבור, ומעבירה את השליטה בsocket שהוקם לnode לאחר שהחיבור כבר הוקם.
    ניתן לקרוא בנושא למשל כאן.

    אמנם עדיין נוכל לטרוק להם את הדלת בצורה לא נעימה בכלל, עם הקוד הזה:

    req.socket.destroy()
    

    למהדרין ניתן בקלות להוסיף קוד שיריץ פקודה בiptables (או netsh עבור WIN) שתבצע את החסימה ולא תאפשר ל"שחורים" לפתוח סוקט עם השרת, אבל שני פרטים כדאי לזכור:

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

    השאלות שנשארו פתוחות:

    1. האם זה לא משהו שיכולתם לממש בעצמכם?
    2. איזה שירותים לדוגמה מאפשרים את השימוש בתכונה הזו?

    אשמח למידע בתגובות.

    קישור לפרטים נוספים באתר הדוקו של Node.js

    קישור למימוש הפנימי של התכונה בדף Node בgithub

    תכנות

  • קובץ איפוס "נסיון 30 יום" לתוכנת WAVEPAD NCH
    5 5566brs

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

    reg delete "HKEY_CURRENT_USER\Software\NCH Software\Wavepad\registration" /f
    
    תוכנה

  • עזרה heroku + mongoose
    5 5566brs

    @ב-ל אמר בעזרה heroku + mongoose:

    mongodb://127.0.0.1:27017/blog

    כי זה לא נגיש לה, כנראה, זה קיים רק בתוך המחשב שלך.
    האם הגדרת את זה:

    process.env.MONGO_URI

    ?

    תכנות

  • בדיקת EXE מסוים אם רץ בוינדוס
    5 5566brs

    הפקודה הזו:

    WMIC path win32_process get | findstr -i csrss.exe
    

    וגם אולי הדוגמה הקודמת שהבאת, אמנם לא נותנים את הpath, אבל כנראה שאפשר לעבד מתוכם מידע אם התהליך רץ בהרשאות system. עצם זה שהתהליך רץ בהרשאות system אומרת לך שלא טעית בקובץ, ואם מישהו שינה את שם קובץ כלשהי והריץ אותו הוא לא ירוץ בהרשאות כאלו.

    תכנות

  • מחיקת קובץ ששיתפו איתי בדרייב-לא מצליחה למחוק
    5 5566brs

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

    אינטרנט

  • שיתוף | גישה לקבצים סטטים והעלאת קבצים לשרת
    5 5566brs

    נתקלתי בזה ומצאתי את זה שימושי קצת.

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

    תכנות
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 4 / 6
  • התחברות

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

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