![]() |
איך אפשר לבדוק אם קוקיס עובד בדפדפן בלי רענון
איך אפשר לבדוק בעזרת PHP לא JS.. אם הקוקיס פועל בדפדפן שבו גולשים מבלי להצטרך לרענן או לשלוח מחדש לדף..?
תודה.. |
למה אתה צריך לבדוק באמצעות PHP? תשתמש בדפדפן Chrome הוא מציע לך כלים מאוד שימושיים בDev Tools שלו, לבדוק עוגיות זה עניין של שניות (ויש גם לא מעט תוספים שמייעלים את העבודה).
|
ציטוט:
זה קשור למי שגולש בו.. כל מי שנכנס לאתר אני רוצה לדעת אם הקוקיס שלו בדפדפן עובד או לא.. |
אי אפשר.
עוגיות נשלחות כחלק מה- Headers - שאותם הלקוח שולח לשרת בכל בקשה. היות ובבקשה הראשונה שלך לא היו לך עוגיות והשרת לא קיבל ממך שום עוגיות - אם הוא יחליט ליצור לך עוגיות כלשהן, הן יכנסו לתוקף החל מהבקשה הבאה שלך. כדי לבדוק הימצאות של עוגיות ובכלל לעבוד עם עוגיות - אתה צריך ליצור אותם כתגובה לבקשה כלשהי של המשתמש ולבדוק את הקיום שלהן בבקשה הבאה שלו. - לאו דווקא מדובר בבקשה הראשונה - אם יצרת אותן כתגובה לבקשה מס' X, אתה תוכל לגשת אליהן החל מבקשה מס' X+1. ממליץ לך לקרוא על הפרוטוקול HTTP וללמוד קצת מה זה עוגיות ואיך זה עובד. |
ציטוט:
|
זה בלתי אפשרי כי ככה HTTP עובד, לא כי אף אחד לא חשב על זה.
אי אפשר לעשות את זה בצד-שרת, עם בקשה אחת ובאמצעות PHP בלבד. בהצלחה. |
אפשרי.
אני אכתוב איך מאוחר יותר |
ציטוט:
לא שמעתי על זה אף פעם, זה נוגד את הצורה שבה יצירת עוגיות מתבצעת, אבל אם זה נכון - אשמח לשמוע :). http://en.wikipedia.org/wiki/HTTP_co...tting_a_cookie הדרכים העיקריות שאני יכול לחשוב עליהן הן: א. התערבות של שרת ה- HTTP שיזריק עוגיה לבקשה, אבל אז זה לא מעיד בשום צורה שהלקוח יכול לקבל עוגיות וזה נוגד את המגבלה שהוא רוצה שזה יעשה באמצעות ה- PHP בלבד. ב. יצירת עוגיה באמצעות JS ובדיקה שלה לאחר מכן באמצעות PHP - גם כאן מדובר בפעולה שנעשת בצד הלקוח ודורשת יותר מבקשה אחת. ושוב, אם מה שאתה מכיר באמת עונה על המגבלות שהוא מציין - אשמח לשמוע על זה. |
אתה יוצר עמוד PHP שהפלט שלו הוא תמונה ריקה של פיקסל על פיקסל (כולל header של תמונה).
העמוד מכיל if($_COOKIE.... ושם קוד הבדיקה שלך. באמצעות htaccess אתה מגדיר לקובץ סיומת של תמונה (לטובת דפדפנים עתיקים). בעמוד הראשי שלך, אתה מוסיף img src לסקריפט. שים לב ששני הקבצים צריכים לשבת תחת אותו דומיין. (אפשר גם סאבדומיין אבל זה דורש הגדרה נוספת בsetcookie) אדיר. שים לב שאכן מדובר בשתי בקשות, אבל אין שימוש בJS ואין שליחה נוספת לדף (ולמחמירים - השפעה זניחה במהירות טעינת האתר). |
איך זה יכול לעזור לו אבל?
"התמונה" תטען אחרי שהקוד הראשון כבר רץ (זה שהוא רוצה את הבדיקה כבר בו), הבדיקה תעשה מאוחר מדי ולא תשפיע על הקוד שבאמת צריך אותה. הוא רוצה שגולש יכנס לאתר > הוא יבדוק אם יש לאותו גולש תמיכה בעוגיות או לא ואז הוא יעשה מה שהוא יעשה, כל זאת ועוד רק עם PHP ובבקשה אחת בלבד - זה בלתי אפשרי. |
כל הזמנים הם GMT +2. הזמן כעת הוא 14:06. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ