כניסה לאתר בלוגין דרך URL מבלי להכניס כל פעם ידני
-
אני מבצע איזה פריקט שמתממשק למערכת הטלפונים של 015 יש להם סרגל נציג בכתובת
https://www.015.cloud/#/login/toolbar
בשביל להיכנס יש שם משתמש וסיסמא, אשמח לעזרה איך בונים אם אפשרי URL עם השם משתמש וסיסמא, מבלי להזין אותו בשדות וביצוע כניסה. -
@אבי-203 בקצרה: אי אפשר.
בארוכה: אם תסתכל, כאשר נכנסים לכתובת שהבאת מקבלים דף אינטרנט (HTML) המכיל, בין שאר האלמנטים שבתוכו, טופס - form, עם שני שדות (שם משתמש וסיסמה), כאשר לוחצים על הכפתור log in נעשה בעצם submit ל-form.
אי אפשר לעשות זאת באמצעות URL. אתה יכול לשלוח קריאת HTTP לשרת, שתעשה בדיוק את מה שעושה לחיצה על כפתור ה-submit. אבל זה לא אפשרי על ידי לחיצה על לינק בדפדפן. -
@chv אמר בכניסה לאתר בלוגין דרך URL מבלי להכניס כל פעם ידני:
@אבי-203 בקצרה: אי אפשר.
בארוכה: אם תסתכל, כאשר נכנסים לכתובת שהבאת מקבלים דף אינטרנט (HTML) המכיל, בין שאר האלמנטים שבתוכו, טופס - form, עם שני שדות (שם משתמש וסיסמה), כאשר לוחצים על הכפתור log in נעשה בעצם submit ל-form.
אי אפשר לעשות זאת באמצעות URL. אתה יכול לשלוח קריאת HTTP לשרת, שתעשה בדיוק את מה שעושה לחיצה על כפתור ה-submit. אבל זה לא אפשרי על ידי לחיצה על לינק בדפדפן.נראה לי שאפשר לעשות אתר שישלח POST ל015 ע"פ הפרמטרים של הלינק שלו, ואז לעשות לינק לאתר החדש.
-
@נ-נח זה לא בדיוק יעבוד.
אם תעשה fetch רגיל עם POST לאתר זר, זה ייחסם אפילו משליחה בזכות הpreflight requests שהדפדפן שולח ובודק לפני השליחה האם האתר הזר מסכים לאתר הנוכחי לתקשר איתו בAJAX.
אכן אם עושים form עם submit זה יעבוד כי הוא עובר לאתר הזר, אבל זה רק בתנאי שבלוגין אין אסימון נגד login CSRF. במידה ויש לו, אז צריך לספק חוץ משם וסיסמה גם טוקן זמני שנוצר בעת כניסה לאתר שתקף רק לעוגיה המתאימה (ואז חזרנו לבעיית העוגיות).
(ההתקפה של login CSRF היא שהתוקף מכניס את הגולש לאתר זר עם פרטי כניסה של התוקף, והרווח שלו הוא שהוא יקבל מידע שהגולש יעשה בחושבו שהוא בחשבון שלו). -
אם אתה רוצה לדעת איך לייצר fetch מ-post,
אז אתה פותח את הטאב של הרשתות\network בכלי מפתח
ועושה את זה
וזאת התוצאה:
fetch("https://www.015.cloud/api/agentToolBarLogin", { "headers": { "accept": "*/*", "accept-language": "en-US,en;q=0.9", "content-type": "application/json", "sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"101\", \"Google Chrome\";v=\"101\"", "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": "\"Windows\"", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin" }, "referrer": "https://www.015.cloud/", "referrerPolicy": "strict-origin-when-cross-origin", "body": "{\"username\":\"\",\"password\":\"\"}", "method": "POST", "mode": "cors", "credentials": "include" });
אכן לא נשלח גם CSRF, אז אתה יכול לבצע בקלות את ההתחברות מהשרת שלך.