@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/ (בעברית)
זה מה שכרגע נזכרתי או שמרתי ממה שראיתי בעבר, אם יהיה עוד אשתדל לשתף.
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@זלמן
נסה גם אופציה נוספת:
לפתוח את קובץ התוכנה באמצעות תוכנת 7-ZIP ולחלץ את כל התוכן שלה לתיקייה כלשהי (עדיף ריקה ובמיקום מסודר).
לאחר מכן הפעל את הקובץ wsatoolbox.hta . -
אצווה כמנהל@פלורידה
ראה לדוגמה
https://f1.210.co.il/fix-le.bat
מכאן
https://netfree.link/wiki/תיקון_בעיית_פג_תוקף_של_תעודת_Lets_Encrypt
יש עוד אופציות שמופיעות בחיפוש SO -
ספריית nodemailer והאבטחה של גוגל@katz אין לי ניסיון מספק בנושא שליחת מייל דרך שרתי GMAIL (כשניסיתי כמה פעמים זה כן עבד, וזה היה די מזמן, אולי אתה משתמש בחיבור לא מאובטח כלומר בSMTP לא מאובטח כדי לגשת לשרתי גוגל).
יש כאן גם אלמנט של מניעת שימוש מסחרי בשירות שלהם.
למה שלא תשקול לרכוש דומיין ולהקים שרת SMTP פרטי.
או לשלוח דרך שירותים צד ג'. -
פוסט שיתוף תוכן | יישום רשימה שחורה בשרתי node.jsלא מזמן נתקלתי בתכונה חמודה שנוספה לאובייקט 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(); });
כמה נקודות:
- עבור השימוש בתכונה יש צורך לעדכן את Node לגירסה 15.x באמצעות כלי האקרובטיקה האהוב עליכם.
- כדי שזה יעבוד, יש צורך להוסיף לפונקציה listen() מספר של host שמאזין לבקשות הנשלחות. אם לא תעשו את זה, אלא תשאירו את הפרמטר ריק, מה שיקרה הוא שמספרי IPV4 לא יתאימו לכללים שהוספתם, בגלל מנגנון שנקרא dual-stack support, שהופך מספרי IPV4 למשולבי IPV6 (ייתכן שזה באג, אבל זה המצב כעת).
- אם אתם משתמשים בnginx ודרכו הגישה לNode, בדרך כלל הגישה לIP של שולח הבקשה הוא דרך הheader x-forwarded-for.
- כפי שציינתי לפני כן, אין אפשרות להוציא מספר שנחסם מהרשימה. אבל סביר להניח שאפשר לפתור את זה איכשהו.. או אפילו לכתוב modoule חדש שיעשה בדיוק את זה, ולתרום אותו לאנושות.
- את החסימה בפועל תצטרכו לממש בעצמכם.
- בדוגמה שצורפה החסימה היא באמצעות הודעת שגיאה 403. אפשר גם להוסיף קאפצ'ה, ומנגנוני זיהוי לבוטים, ושמירה של המידע בDB לשימוש עתידי, ועוד ועוד כיד הדמיון..
לחסום את אלו שברשימה השחורה באופן "מקצועי", כלומר לחסום את האפשרות ליצור socket עם השרת (בשונה מהקמת סוקט ושליחת תוכן בתוך הסוקט, כשהתוכן כולל הודעת חסימה), באמצעות REJECT או DROP (מונחים שמתייחסים לתעבורת הTCP: שליחת הודעת ניתוק בעת ניסיון ליצור סוקט, או חוסר תגובה לניסיון כזה, בהתאמה) לא ניתן באמצעות הprocess של Node עצמו (וגם לא באמצעות python לדוגמה) בלי התממשקות עם מערכת ההפעלה באופן כלשהו (בlinux התממשקות עם netfilter, ובwin עם winsock), מכיון שמערכת ההפעלה היא זו שמקימה את החיבור, ומעבירה את השליטה בsocket שהוקם לnode לאחר שהחיבור כבר הוקם.
ניתן לקרוא בנושא למשל כאן.אמנם עדיין נוכל לטרוק להם את הדלת בצורה לא נעימה בכלל, עם הקוד הזה:
req.socket.destroy()
למהדרין ניתן בקלות להוסיף קוד שיריץ פקודה בiptables (או netsh עבור WIN) שתבצע את החסימה ולא תאפשר ל"שחורים" לפתוח סוקט עם השרת, אבל שני פרטים כדאי לזכור:
- לא קיימת דרך (יותר נכון לא מוכרת לי כזו) שבה תקבלו מידע מהמערכת על IP שחור שמנסה לבצע גישה.
- הרשימה תישאר חסומה כל עוד לא תמחקו אותה (למהדרין מן המהדרין אולי אפשר לבצע אינטגרציה אוטמטית עם fail2ban כדי להוציא אותם אוטומטית משם, אבל סביר להניח שעדיף כבר להתממשק עם netfilter).
השאלות שנשארו פתוחות:
- האם זה לא משהו שיכולתם לממש בעצמכם?
- איזה שירותים לדוגמה מאפשרים את השימוש בתכונה הזו?
אשמח למידע בתגובות.
-
קובץ איפוס "נסיון 30 יום" לתוכנת WAVEPAD NCH -
עזרה heroku + mongoose@ב-ל אמר בעזרה heroku + mongoose:
mongodb://127.0.0.1:27017/blog
כי זה לא נגיש לה, כנראה, זה קיים רק בתוך המחשב שלך.
האם הגדרת את זה:process.env.MONGO_URI
?
-
בדיקת EXE מסוים אם רץ בוינדוסהפקודה הזו:
WMIC path win32_process get | findstr -i csrss.exe
וגם אולי הדוגמה הקודמת שהבאת, אמנם לא נותנים את הpath, אבל כנראה שאפשר לעבד מתוכם מידע אם התהליך רץ בהרשאות system. עצם זה שהתהליך רץ בהרשאות system אומרת לך שלא טעית בקובץ, ואם מישהו שינה את שם קובץ כלשהי והריץ אותו הוא לא ירוץ בהרשאות כאלו.
-
מחיקת קובץ ששיתפו איתי בדרייב-לא מצליחה למחוק@freedom זה בדרך כלל כן שייך לקבוצה כלשהי.
נסו להכנס לקבוצות גוגל, ולמחוק קבוצה שאתם לא מכירים, אם קיימת. -
שיתוף | גישה לקבצים סטטים והעלאת קבצים לשרת -
המרת קבצי SVG ל PDF@yits אמר בהמרת קבצי SVG ל PDF:
אני מעוניין במוסף הסיפורים בPDF
https://send.magicode.me/send-file/file/12bf59b4fac7a6449aa66ea5380a9e7e8e17983d/download
-
CSS - הדפסת דף אינטרנט עם דפים בגדלים שונים -
CSS - הדפסת דף אינטרנט עם דפים בגדלים שוניםהאם ניתן באמצעות הדפדפן להדפיס דף אינטרנט מתוך אתר כקובץ PDF בעל דפים בגדלים שונים?
הכוונה היא שהנ"ל יעשה באמצעות קוד CSS סטטי ולא באמצעות יצירת קובץ בצד השרת.
ניסיתי על פי האמור כאן ולא הצלחתי.
אשמח לדעת שאפשר על פי ניסיון או לקבל דוגמת קוד שתמחיש זאת..
תודה. -
הורדת הרבה תמונות מאתר@יוני אמר בהורדת הרבה תמונות מאתר:
תודה רבה עם איזה פקודה עשית את זה ?
for i in {01..60}; do curl http://www.coloring-book.info/coloring/Hello%20Kitty/hello-kitty-$i.jpg -OJL; done && zip img.zip *
-
הורדת הרבה תמונות מאתר@יוני אמר בהורדת הרבה תמונות מאתר:
מישהו יכול להסביר לי איך עושים את זה עם המדריך הזה
מקווה שזה הסבר מספיק טוב:
https://send.magicode.me/send-file/file/a4009049c9e2af16adecd133fe820294c091d444/view -
אתר למכירת קורסי וידאו. עם הגבלת כניסות ליוזר.@אבי-203 אמר באתר למכירת קורסי וידאו. עם הגבלת כניסות ליוזר.:
איך אני חוסם למשל שלא יהיה מישהו אחד ישלם ויתן את היוזר שלו לכל אחד
אם תמצא פתרון שלא יוכלו להוריד את הוידאו בשום דרך, ימצאו לך כבר פתרון לבעיה הזו.
אם לא מצאת פתרון להגן על הוידאו, לא יעזור שתמצא פתרון לבעיה הזו.אבל לעצם הענין אפשר לחייב יותר פרטים, ולהציג אותם לכל מי שנכנס בחשבון. (כמו למשל מספר ת. ז.) זה מאד מרתיע.
במערכות הקיימות כהיום, לא קיימת הגנה בנושא הזה. ובענין הגנה על הוידאו הפתרונות מאד חלקיים. -
לא מצליח לחפש בגוגל בכתובת URL@חכם מוגדר אצלך חיפוש באמצעות יאהו.
ונטפרי מעבירים כל מי שמגיע ליאהו ישירות לגוגל.
לכן תשחק בהגדרות הדפדפן או תאפס את ההגדרות שלו, ותוכל לחפש כרגיל. -
המחשב/דפדפן מסתמך על תעודה לא מוכרת