כיצד לגלות את ה- Ip של מבקר באתר

תוכן עניינים:

כיצד לגלות את ה- Ip של מבקר באתר
כיצד לגלות את ה- Ip של מבקר באתר

וִידֵאוֹ: כיצד לגלות את ה- Ip של מבקר באתר

וִידֵאוֹ: כיצד לגלות את ה- Ip של מבקר באתר
וִידֵאוֹ: איך לשנות כתובת IP , שינוי אייפי 2024, מאי
Anonim

לרוב, כתובת ה- IP של מבקר האתר משמשת לזיהויו. אך מלבד זאת, באמצעות IP תוכלו לקבל מידע רב נוסף על המבקר - למשל, לגלות את ספק האינטרנט שלו ואת מיקומו הגיאוגרפי. בפועל, סקריפטים PHP בצד השרת משמשים לרוב לחילוץ כתובות IP מכותרות הבקשה שנשלחות על ידי הדפדפן.

כיצד לגלות את ה- ip של מבקר באתר
כיצד לגלות את ה- ip של מבקר באתר

זה הכרחי

ידע בסיסי ב- PHP

הוראות

שלב 1

השתמש בפונקציית getenv המובנית של PHP כדי לקרוא כתובות IP ממערך המשתנים של הסביבה העל-גלובלית. במקרה הפשוט ביותר, זה יהיה מספיק לקרוא את המשתנה בשם REMOTE_ADDR. פיסת קוד ה- PHP המתאימה עשויה להיראות כך: $ userIP = getenv ('REMOTE_ADDR');

שלב 2

בנוסף למשתנה REMOTE_ADDR שנשלח בבקשה, בדוק את המשתנים HTTP_VIA ו- HTTP_X_FORWARDED_FOR. אם המבקר משתמש בשרת proxy, יש לרשום את כתובת הביניים בשני המשתנים - גם ב- HTTP_VIA וגם ב- REMOTE_ADDR. במקרה זה, תוכלו לנסות לברר את ה- IP האמיתי של המבקר דרך HTTP_X_FORWARDED_FOR - על שרת ה- proxy להכניס אליו את הכתובת המקורית. עם זאת, זה לא תמיד נעשה, ולמשתמש יש אפשרות לבחור שרת proxy "אטום" שאינו מעביר את ה- IP המקורי של המבקר ששלח את הבקשה. בכל מקרה, עליך להשתמש בכמה שיותר דרכים להשיג את כתובת ה- IP המקורית בקוד שלך על ידי הוספת סימון למשתנה

שלב 3

לשרשר בשורה אחת של קוד PHP בדיקה רציפה של שלושה משתני סביבה, העשויים להכיל את כתובת ה- IP המקורית של המבקר. ניתן לעשות זאת, למשל, כך: $ userIP = getenv ('HTTP_CLIENT_IP') או $ userIP = getenv ('HTTP_X_FORWARDED_FOR') או $ userIP = getenv ('REMOTE_ADDR');

שלב 4

הסר תווים נוספים ו"זבל "אחר מערך ה- IP המתקבל שעשוי להיכנס למשתני סביבה. ניתן לעשות זאת, למשל, באמצעות פונקציות ה- PHP המובנות TRIM ו- preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

שלב 5

שלב את כל הקוד לפונקציה מותאמת אישית כך שתוכל להתייחס אליו במקום לחזור על קווי הסימון והניקוי שוב ושוב בחלקים שונים של סקריפטים ה- PHP שלך. לדוגמה, כך: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') או $ userIP = getenv ('HTTP_X_FORWARDED_FOR') או $ userIP = getenv ('REMOTE_ADDR');

החזר TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

מוּמלָץ: