כיצד לגלות את ה- Ip של הלקוח

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

כיצד לגלות את ה- Ip של הלקוח
כיצד לגלות את ה- Ip של הלקוח

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

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

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

כיצד לגלות את ה- ip של הלקוח
כיצד לגלות את ה- ip של הלקוח

זה הכרחי

ידע בסיסי ב- PHP

הוראות

שלב 1

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

שלב 2

אתה יכול לשלב את בדיקת כל שלושת המשתנים לשורה אחת של קוד PHP, למשל, כך:

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

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

$ ipAddr = לקצץ (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

שלב 3

נותר לשלב את שתי שורות הקוד לפונקציה אחת:

פונקציה getIP () {

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

חזור לקצץ (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

}

מוּמלָץ: