חיפוש קובץ במערכת
-
@Liy בגדול אם הלקוח (משתמש הקצה באתר) לא מקפיד על אבטחה ואפשר לעבור לו על התעבורה, זה בעיה שלו, והוא בצרה הרבה יותר גדולה מאשר טוקנים של ימות המשיח, אלא גם סיסמאות באתרים, ובעצם כל מידע שעובר מ/אל המחשב שלו
ובגדול בדיוק בשביל זה נועד HTTPS -
@צדיק-תמים
הקוד שלך מאלף!!
אז תתקן לי את מה שטעיתי בו:<script> const axios = require('axios'); axios.defaults.baseURL = 'https://www.call2all.co.il/ym/api/'; const YEMOT_NUMBER = '077400300'; const YEMOT_PASSWORD = '123456'; /** * @return {String} - The token */ async function getToken() { const response = await axios.post('Login', { username: YEMOT_NUMBER, password: YEMOT_PASSWORD, }); return response.data.token; } /** * @param {String} token - Yemot token * @param {String} path - folder path * @return {Promise<object>} - folder data */ async function getFolder(path, token) { let response; response = await axios.get('GetIVR2Dir', { params: { token, path } }); const { data } = response; if (data.responseStatus !== 'OK') throw new Error('Yemot error: ' + data.message); return data; } /** * * @param {Array|String} begin - Folder(s) to start from * @param {Array} exclusionsWords - Words to exclude folders that contain them * @param {String} token - Yemot token * @returns */ async function getLists(begin, exclusionsWords, token = `${YEMOT_NUMBER}:${YEMOT_PASSWORD}`) { const lists = { files: [], dirs: [], ini: [] }; let nextFolders = Array.from(begin); while (nextFolders.length) { const promises = nextFolders.map((path) => { return getFolder(path, token); }); const responses = await Promise.all(promises); let localNextFolders = []; responses.forEach((folder) => { lists.files.push(...folder.files); lists.dirs.push(...folder.dirs); lists.ini.push(...folder.ini); const exclusionsRegex = new RegExp(exclusionsWords.join('|'), 'g'); const nextFoldersFiltered = folder.dirs.filter((dir) => !exclusionsRegex.test(dir.name)).map((path) => path.what); localNextFolders = [...localNextFolders, ...nextFoldersFiltered]; }); nextFolders = localNextFolders; } return lists; } </script>
תודה רבה!!
מתנצל על השאילה -
@צדיק-תמים אמר בחיפוש קובץ במערכת:
@Liy בגדול אם הלקוח (משתמש הקצה באתר) לא מקפיד על אבטחה ואפשר לעבור לו על התעבורה, זה בעיה שלו, והוא בצרה הרבה יותר גדולה מאשר טוקנים של ימות המשיח, אלא גם סיסמאות באתרים, ובעצם כל מידע שעובר מ/אל המחשב שלו
ובגדול בדיוק בשביל זה נועד HTTPSגם יכול להיות שזה כמה אנשים באותו בניין משרדים, שלאחד מהם חשקה נפשו לעבור על התעבורה של הרשת במשרד וכו׳
-
@צדיק-תמים אמר בחיפוש קובץ במערכת:
@nyh אין דרך לדעת מראש, הדרך לעשות זאת עם רקרוסיביה (פונקציה שקוראת לעצמה בתנאי מסוים), או עם while עם תנאי עצירה מתאים.
המימוש בפועל שונה בכל שפה, וכיוון שכנראה השפה ש @פיסטוק-פרווה יודע היא רק PHP, אין לי אין לעזור עם דוגמה.כאן יש לך בphp איך לעשות רקורסיה
-
@Liy שוב, במקרה שיש גישה לתעבורה, יש גישה להכל. אם לא, אין גישה גם לכתובות.
@פיסטוק-פרווה לא ייבאת את הספריה axios (כנראה), ולא קראת בכלל לפונקציה...
אגב הקוד הזה כנראה יפעל יותר טוב בNode.js בגלל מגבלת ה-6 בקשות לאותו אתר במקביל של כרום, שלא קיימת בנוד כמוב -
מישהו יכול לתת קוד של רקוסייה ב php / js למקרה הזה?
-
-
@פיסטוק-פרווה אמר בחיפוש קובץ במערכת:
מישהו יכול לתת קוד של רקוסייה ב php / js למקרה הזה?
מה רע במה שהבאתי?!
-
@צדיק-תמים
אני לא עובד עם ספריות.
אני מעדיף קוד בריא... -
@לעזור-לכולם
כן, אבל אני מעדיף קוד מוכן.
אם יש לך אשמח לקבל!!
תודה רבה!! -
@פיסטוק-פרווה אמר בחיפוש קובץ במערכת:
אני לא עובד עם ספריות.
אני מעדיף קוד בריא...יש סתירה בין השורה הראשונה לשניה
בכל מקרה אתה יכול בקלות להחליף את 2 הקריאות לaxios שבפונקציותgetFolder
וgetToken
בfetch (אני מבין שזה צד דפדפן...) -
@צדיק-תמים אמר בחיפוש קובץ במערכת:
יש סתירה בין השורה הראשונה לשניה
צודק...
בכל אופן אין לי כח וזמן להשקיע בקוד...
אם כבר הבאת חצי תביא את הכל...ואין עליך!!! -
@פיסטוק-פרווה אמר בחיפוש קובץ במערכת:
בכל אופן אין לי כח וזמן להשקיע בקוד...
אז למה אתה מתעקש לא להשתמש בaxios?
@פיסטוק-פרווה אמר בחיפוש קובץ במערכת:
אם כבר הבאת חצי תביא את הכל...
חצי ממה? זה קוד מוכן לגמרי
רק צריך להתקין את התלות, שורה אחת בHTML
https://axios-http.com/docs/intro#:~:text=yarn add axios-,Using jsDelivr CDN%3A,-<script src -
@צדיק-תמים
אני כאילו אמור ליצור קובץ,
לכתוב בפנים:<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
ולהיכנס דרך הדפדפן?
פשוט אף פעם לא התקנתי ספריות ב php, רק בפייתון.... -
@פיסטוק-פרווה מה PHP? הקוד הזה הוא בJS
-
@צדיק-תמים
אוקיי אבל מה לעשות בשביל ההתקנה -
@פיסטוק-פרווה התקנה איפה? זה לא קוד PHP!
ובבקשה לא לקמץ כל כך במילים אם אתה מעוניין שיעזרו לך -
@צדיק-תמים
התכוונתי שאני יודע להתקין רק ספריות פייתון וזה לא ספריית פייתון,
אשמח אם תתן לי הדרכה איך להתקין את הספרייה.
תודה רבה רבה!! -
@פיסטוק-פרווה איפה אתה מתכנן להשתמש בקוד?
בתוך קוד Jד שאתה שם בקובץ HTML?
אם הבנתי נכון אתה לא צריך "להתקין", סה"כ להניח את השורה הנ"ל לפני התגית הסוגרת של הbody
(האמת שזה לא מאוד משנה המיקום בדף...) -
@צדיק-תמים
סיבכת אותי לגמרי....
תן לי קוד שכשאני נכנס אליו מוצגים לי כל התיקיותוהקבצים במערכת.
זהו, לא ביקשתי יותר. אם צריך התקנה כלשהי תתן מדריך איך לבצע אותה...