דילוג לתוכן

רשתות

3.7k נושאים 38.1k פוסטים

קטגוריות משנה


  • 235 נושאים
    2k פוסטים
    צדיק תמיםצ
    @מד את הCSS אפשר, אבל מה שמאפשר את הפתיחה וסגירה זה JS מובנה שמטרגט את הקלאסים האלה ולהכניס JS לא אמור להיות אפשרות, אם יש זה פרצת אבטחה חמורה מאוד
  • 637 נושאים
    6k פוסטים
    ע
    אני צריך לכתוב פונקציה שתקבל מודעות ממסד נתונים על פי פילטרים אופציונליים, הAI הציעו את שלהם וכל הזמן היא מושלמת, ועם זאת כל הזמן יש בה באגים שיכולים להקריס אותה. אשמח לעזרה, הפונקציה קצת מורכבת, יש את הטבלה ה"ראשית", ויש שתי טבלאות מקושרות, 1 ערים ו1 נקרא או לא נקרא. בינתיים התעסקתי רק עם הסינון + ערים, עוד לא הוספתי את הנקרא/לא נקרא, אשמח לעזרה בזה. פונקציות עזר כלליות const schemaAdvertiser = { phone: {validate: isValidIsraeliPhone, required: true}, profession: {validate: checkProfession, required: true}, min_price: {validate: checkNumber, required: false}, path: {validate: (path) => typeof path === 'string' && path.trim() !== '', required: false} }; const schemaLocation = { area: {validate: checkArea, required: false}, city: {validate: checkCity, required: false}, }; function validateParams(params, schema, checkRequired = true) { if (!params || typeof params !== 'object') { return errorResponse("Invalid parameters input"); } const cleanParams = {}; for (const key in schema) { const field = schema[key]; const value = params[key]; if (value === undefined) { if (checkRequired && field.required) { return errorResponse(`Missing required parameter: ${key}`); } continue; } if (!field.validate(value)) { return errorResponse(`Invalid value for ${key}`); } cleanParams[key] = value; } for (const key in params) { if (!schema[key]) { return errorResponse(`Unknown parameter: ${key}`); } } return successResponse(cleanParams); } function validateLocationParams(locationParams) { const locationsArray = Array.isArray(locationParams) ? locationParams : [locationParams]; let cleanLocations = []; for (const loc of locationsArray) { const validatedLocation = validateParams(loc, schemaLocation, false); if (!validatedLocation.success) return validatedLocation; if (validatedLocation.data.city && !validatedLocation.data.area) { return errorResponse("City provided without area"); } const { city, area } = validatedLocation.data; if (city && area && city !== "כל הארץ" && area !== "כל הארץ") { if (!checkCityInArea(city, area)) { return errorResponse("City does not belong to the given area"); } } cleanLocations.push(validatedLocation.data); } return successResponse(cleanLocations); } הפונקציה שלשמה התכנסנו import knex from "knex"; import {areas} from "./lists"; /** * הגדרת שדות מותרים לסינון והאופרטור שלהם */ const FILTER_CONFIG = { phone: '=', profession: '=', min_price: '>=' }; export async function findAdByFilter(filters = {}) { const { path, ...schemaSearch } = schemaAdvertiser; const validated = validateParams(filters, { ...schemaSearch, ...schemaLocation }, false); if (!validated.success) return validated; if (Object.keys(validated.data).length === 0) { return errorResponse("לא סופקו פילטרים חוקיים"); } try { const { city, area, ...activeFilters } = validated.data; const result = await knex("ads as M") .modify(q => { if (city || area) { q.join("advertiser_cities as C", "C.adId", "M.id"); } if (city) { const relatedAreas = Array.isArray(city) ? getAreasForCities(city) : [getCityArea(city)].filter(Boolean); if (Array.isArray(city)) { q.where(function() { this.whereIn("C.city", city) .orWhereIn("C.area", relatedAreas); }); } else { q.where(function() { this.where("C.city", city) .orWhere("C.area", relatedAreas[0]); }); } } else if (area) { Array.isArray(area) ? q.whereIn("C.area", area) : q.where("C.area", area); } Object.entries(FILTER_CONFIG).forEach(([field, operator]) => { const value = activeFilters[field]; if (value !== undefined && value !== null && value !== "") { Array.isArray(value) ? q.whereIn(`M.${field}`, value) : q.where(`M.${field}`, operator, value); } }); }) .select("M.*") .distinct("M.id"); return successResponse({ ads: result }); } catch (error) { console.error("[findAdByFilter] Error:", error); return errorResponse("שגיאה בשליפת המודעה לפי פילטרים"); } } function getCityArea(city) { for (const [area, cities] of Object.entries(areas)) { if (cities.includes(city)) return area; } return null; } function getAreasForCities(citiesArray) { return [...new Set(citiesArray.map(getCityArea).filter(Boolean))]; } הקוד מחולק בכל מיני מקומות, מקווה שצירפתי כל מה שצריך. טבלה ראשית: ID טלפון - phone מקצוע - profession מחיר מינימום - min_price נתיב הקלטה - path סטטוס - status ערים: ID, עיר, אזור. מודעות שנקראו: ID, טלפון לא חייבים להצמד לפונקציה הזו, העיקר שיהיה משהו שיעבוד... הAI כבר עשו לי כאב ראש...
  • שיפור גלישה דרך הוויפי

    6
    0 הצבעות
    6 פוסטים
    214 צפיות
    פ
    @klopkk כתב בשיפור גלישה דרך הוויפי: @פשוט-שבפשוט כנראה שלטאבלט יש אנטנה חלשה ככה שזו בעיית חומרה אז אין אפליקצייה שיכולה לסדר את זה ואי אפשר לסדר את זה\להגביר את זה?
  • גלישה עם אנדרואיד על רשת ביתית עם סינון רימון

    4
    0 הצבעות
    4 פוסטים
    207 צפיות
    א
    @פשוט-שבפשוט התכונתי האם יש רשת אחרת שאתה יכול לנסות להתחבר מהמכשיר התקול לבדוק אם הבעיה במחשב או ברשת
  • נושא זה נמחק!

    1
    0 הצבעות
    1 פוסטים
    3 צפיות
    אין תגובות
  • נושא זה נמחק!

    48
    0 הצבעות
    48 פוסטים
    190 צפיות
  • בעיה בנטפרי

    3
    1
    0 הצבעות
    3 פוסטים
    120 צפיות
    מ
    תודה רבה
  • צפיה בתעבורת אינטרנט מוצפנת

    5
    0 הצבעות
    5 פוסטים
    145 צפיות
    לא-מתייאשל
    @web_master אתה צריך לצור פרוקסי, generate תעודת אבטחה, להתקין את התעודה על המכשיר שלך ולחבר את מכשיר שלך לפרוקסי. תנסה עם זה https://www.telerik.com/fiddler או זה https://www.charlesproxy.com/
  • חשבון גוגל במחשב ציבורי

    38
    0 הצבעות
    38 פוסטים
    1k צפיות
    ב
    @יהודה13 כתב בחשבון גוגל במחשב ציבורי: @חכמוני-החכם כתב בחשבון גוגל במחשב ציבורי: אבל לא תמיג מתאפס הכל ממש ממקרה עצוב שקרה כבר בעבר... @יהודה13 כתב בחשבון גוגל במחשב ציבורי: (בדרך כלל כל לילה, בחדר מחשבים נורמלי) אולי התכוונת שבאותו היום זה לא התאפס. אכן יש לפעמים תקלות. כיום בתוכנת סייפר זה מאוד נדיר, יש חדרי מחשבים (גדולים) שבעבר לא עבדו עם סייפר וישנם כאלה (בודדים) שעד היום לא עובדים עם סייפר. מכיר חנות אחת שכל המחשבים הם סייפר ולא מפעיל את עצמו מחדש ביציאה מהחשבון סייפר. ואמנם החומר בדרך כלל נמחק אפי' שלא מופעל מחדש אך יותר יש חשש גילוי הסודות בעיקר בגלל תוכנות ריגול וכו'
  • מדריך | גוגל צ'אט - כאן תלמדו איך לעשות ציטוט להודעות

    16
    3
    12 הצבעות
    16 פוסטים
    1k צפיות
    G
    @חברים גם במחשבים
  • המלצה | דפדפן מומלץ! | Edge

    34
    9 הצבעות
    34 פוסטים
    1k צפיות
    ישראליקי
    @mdy שים לב שמדובר בפוסט שהוקפץ מ2021... כשהמקפיץ גם פתח נושא אחר בעניין https://mitmachim.top/topic/55699/דפדפן-אדג-השתגע
  • המלצה | תוסף DuckDuckGo Privacy Essentials להגנה ופרטיות

    2
    1 הצבעות
    2 פוסטים
    100 צפיות
    K
    @לומדעס כתב בהמלצה | תוסף DuckDuckGo Privacy Essentials להגנה ופרטיות: ה-DuckDuckGo כבר מזמן הרבה מעבר למנוע חיפוש, התוסף Privacy Essential יכול לחסום מעקבים של פרסופות, להתחבר אוטומטית ל-HTTPS, לפענח את מדיניות הפרטיות של שירותים פופולריים ולהעריך את רמת האמון באתר בהתאם. זה לא תרופת פלא, כדי להגיע לרמה מרשימה של אנונימיות ואבטחה אתה עדיין צריך לעבוד קשה ובכל זאת DuckDuckGo Privacy Essential היא התחלה טובה. זמין עבור כל הדפדפני Chromium ו-Firefox. להורדה עבור מנועי Chromium - לחץ כאן להורדה עבור דפדפני Firefox -0 לחץ כאן למה זה עוזר ?
  • סינון סייפטק למחשב

    1
    0 הצבעות
    1 פוסטים
    185 צפיות
    אין תגובות
  • הורדה מיוטיוב- רימון

    5
    0 הצבעות
    5 פוסטים
    2k צפיות
    פ
    @m-imreymoshe כתב בהורדה מיוטיוב- רימון: @פשוט-שבפשוט תיכנס לפה! תוריד את התוכנה מאתר הבית, ותתקין אותה. לאחר מכן תבטל אנטי וירוס, תוריד את קובץ הפריצה ותפעיל כמנהל. תלחץ על כפתור crack ולאחר מכן finish. אם ביצעת את כל זה. כשאתה פותח דפדפן מופיעה לך הודעה של תוסף חדש. ברגע שאתה פותח כל אתר שהוא, ויש בו קובץ וידאו או שמע, יש לך מן חלונית קטנה להורדת הנ"ל. הקבצים יורדים לתוך תיקיות משנה לפי סיווגים שונים (שמע, וידאו, תוכנות וכו'), בתוך תיקיית ה'הורדות'. בהצלחה תודה רבה!! זה עובד לי פצצה!! ממש יישר כח!!
  • בירור בנושא קורס ניהול רשתות

    4
    0 הצבעות
    4 פוסטים
    141 צפיות
    א
    @רמיזא בהתחלה קשה למצוא עבודה אחרי שיהיה לך ניסיון תוכל למצוא עבודה טובה (אתה יכול לעבוד כעצמאי גם) עם שכר מתגמל כמובן תבדוק שוב כי דברים משתנים כלפי הקורס שאתה לומד
  • שאלה | Google Docs | האם אפשר לנעול קובץ עם סיסמה?

    5
    0 הצבעות
    5 פוסטים
    2k צפיות
    אבייא
    @Yanky כתב בשאלה | Google Docs | האם אפשר לנעול קובץ עם סיסמה?: ישנה אפשרות כמדומני ע"י סקריפט כלשהו אני לא מכיר כזה דבר, יש אמנם אפשרות להצפין נתונים, אבל זה לא יפתור לו את הבעיה, כי גם אם כל פעם לאחר ההצפנה המסמך יימחק עדיין יהיה גישה אליו מהאשפה. אולי אפשר להצפין טקסט בתוך מסמך והעריכה עצמה תתבצע במחשב ולא בענן, וכך לא תישאר היסטוריה. @חברון-מאז-ולתמיד אם אתה מעוניין, שלח לי מייל עם פרטים, ואבדוק את זה.
  • מה קורה לרשת שלי?

    19
    3
    0 הצבעות
    19 פוסטים
    367 צפיות
    ר
    @Yanky מה אתה רואה בבדיקה שביקשת שהוא יעשה ? מה התקלה ?
  • נושא זה נמחק!

    3
    0 הצבעות
    3 פוסטים
    7 צפיות
  • תוסף JStream – Jewish Music לדפדפן כרום

    4
    1 הצבעות
    4 פוסטים
    319 צפיות
    ח
    @חשבות כתב בתוסף JStream – Jewish Music לדפדפן כרום: היי לאחרונה לא עובד לי התוסף ניסיתי להורידו מהאתר של נטפרי - תוכנות להורדה לא נותן להוריד האם ניתן להשיג את התוסף המעודכן? האתר של Jewish Music לא פעיל ויש גם את זה https://chrome.google.com/webstore/detail/jewish-radio-network/gpplmcnkdhjknnhigfppgiokbapamelj/related?hl=iw [image: 1684860145312-95b1daa8-562a-4d18-8f9d-9e2c6d0ce190-image.png]
  • חיפוש בגוגל שמפנה לבינג

    13
    0 הצבעות
    13 פוסטים
    365 צפיות
    קינג קומפיוטרק
    @לוי-ק תנסה להשבית את כל התוספים ולבדוק אם הבעיה עדיין מתרחשת
  • גוגל נעלם מהמחשב

    7
    0 הצבעות
    7 פוסטים
    280 צפיות
    ה
    ב"ה נמצאה האבידה, עשיתי חיפוש במחשב עצנמו כמו ש@אין-דופי הציע והמחשב מיד נתן לי "אפליקציות מובילות" ושם מצאתי את גוגל. תודה רבה לכל העוזרים והמסייעים.
  • שאלה | איך ניתן להוסיף כרטיסייה של 'תמונות' בחיפוש גוגל

    4
    1
    0 הצבעות
    4 פוסטים
    124 צפיות
    HarwonaH
    @שגד ייתכן שזה קשור לסינון שלך... או שמא הגדרת משהו בהגדרות הדפדפן