dvir8 07.11.1112:58

צריך עזרה בבקשה, קשור ל cross-domain

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

ישנה בעיה. הכל עובד יפה אך כשאני שם את הקובץ בשרת כלשהו אני מקבל הודעה בקונסול של כרום XMLHttpRequest cannot load Origin is not allowed by Access-Control-Allow-Origin

הבנתי שזה בגלל cross-domain.
איך ניתן להתגבר על הבעיה?

אני משתמש ב Jquery.Form

הקוד הוא כזה:
[code]
var options = {
type: 'get',
target: '#registration-message',
beforeSubmit: function(){
// run form validations if they exist
if(typeof form_validations == "function" && !form_validations()) {
// this will prevent the form from being subitted
return false;
}
disableSubmit(true);
},
success: function(data){
$(form).hide();
$(form_message).removeClass().addClass("success").text(data.showResponse);
disableSubmit(false);
if(data.showResponse == 'success')
$(form).clearForm();
}
};
$(form).ajaxForm(options);
}
[/code]

הקובץ צד שרת סה"כ מציג שורת טקסט פשוטה. אני לא משתמש ב JSON וכאלה.
Ice Cold 07.11.1115:31
1. הדף שבו ה-JS שולח את ה-REQUEST וה-ACTION של הטופס בתגובה להודעה מספר 0
חייבים להיות באותו DOMAIN כדי לעבוד. JS לא יכול להביא בקשות HTTP מ-DOMAIN אחר, אפילו לא מאותו SUBDOMAIN, בגלל בעיות אבטחה.
dvir8 07.11.1117:08
2. תודה רבה לך! בתגובה להודעה מספר 1
no_angel 07.11.1123:43
3. בשביל זה אפשר לבצע Impersonation ואז לבצע בתגובה להודעה מספר 2
קריאה בעצם מתוך הדומיין הקיים למשהו בדומיין אחר עם הרשאות בדומיין האחר.
Ice Cold 08.11.1108:19
4. איך תתחזה בדף HTML? אתה לא יכול לשלוח HEADERS בתגובה להודעה מספר 3
no_angel 08.11.1120:49
7. מה הכוונה איך? ASP איך אחרת? בתגובה להודעה מספר 4
Ice Cold 08.11.1123:12
9. אה אוקיי חשבתי עם CLIENT SIDE, לא הבנתי חחח בתגובה להודעה מספר 7
ליל קיץ 08.11.1120:07
5. CROSS DOMAIN AJAX SOLTIONS בתגובה להודעה מספר 0
1. HTML5 - עם כל המגרעות שמשתמעות מכך כרגע.
2. JSONP.
3. SERVER SIDE SOLUTIONS.
Ice Cold 08.11.1120:25
6. 2,3 סבבה, איך HTML5 פותר את הבעיה? בתגובה להודעה מספר 5
ליל קיץ 08.11.1122:09
8. HTML5 postMessage בתגובה להודעה מספר 6
http://html5demos.com/postmessage2?

תומך ב CROSS DOMAIN ,
זה יהיה ה AJAX "החדש".
יש להגדיר בשרת המארח דומיינים חוקיים לקבלת נתונים.

כרגע יש בעיות עם כל הסיפור הזה עם מיקרוסופט שלפי מה שהבנתי אומרים שלא יתמכו בזה, לעומת כל שאר הדפדפנים,
טמבלים היו וטמבלים ישארו.

מן הסתם יש עוד מלא דרכים "לזייף" בקשת AJAX,
אפשר להשתמש ב IFRAME, אפשר להקפיץ POPUNDER , אפשר לשכור שליח עם טוסטוס שישלח את הבקשה .

אין גבול ליצירתיות.
Ice Cold 08.11.1123:15
10. חחחח זה ממש יפה, לשלוח הודעה ל-IFRAME אחר. תודה על בתגובה להודעה מספר 8
פתיחת האופקים

מה שכן, זה אומר שה-IFRAME השני חייב להיות שלך, הוא לפחות פתוח לכולם ע"י זה שהוא מאזין ל-onmessage. זה לא כמו PHP שאפשר להשיג מידע מכל מקום. זה חייב להיות עמוד שערוך לקבל אליו בקשות, כמו JSONP בעצם.
ליל קיץ 09.11.1100:28
11. נכון. בתגובה להודעה מספר 10
האמת שלא שמתי לב שאתה חייב לעשות POST ל WINDOW OBJECT עד שאמרת,
בכל מקרה, זאת עוד שיטה. יש אינסוף שיטות בספר, רק תבחר.
Net_Boy 10.11.1101:02
12. אפשר גם בקלות מאד להשתמש ב YQL בשביל לפתור את זה בתגובה להודעה מספר 0
Ice Cold 10.11.1108:12
13. וואו נחמד!! קראתי עכשיו :) רק שלהיות תלוי בעודדד רכיב בתגובה להודעה מספר 12
חיצוני שיעבוד כמו שצריך זה קצת מבאס
Net_Boy 10.11.1110:33
14. כן אבל כל עוד מדובר ב YQL או Google API's אני משתמש בתגובה להודעה מספר 13
בהם בלב שקט.
הסבירות שהם לא יתפקדו היא אפסית (הסבירות שתהיה תקלה ב-Server side שלי הרבה יותר גבוהה).
no_angel 11.11.1118:28
15. דווקא הקטע של Iframe סוגר את הפינה יותר טוב לא ? בתגובה להודעה מספר 13
הרי כמו שכל האתרים עם הדפים המאובטחים עושים .
העבר לפורום אחר
העבר לפורום:
סיבה:
תגובה חדשה
כותרת:
תוכן:
סמיילים:
הצג
עריכת אשכול
כותרת:
תוכן:
סמיילים:
הצג