Ինչպես պարզել կայքի այցելուի Ip- ը

Բովանդակություն:

Ինչպես պարզել կայքի այցելուի Ip- ը
Ինչպես պարզել կայքի այցելուի Ip- ը

Video: Ինչպես պարզել կայքի այցելուի Ip- ը

Video: Ինչպես պարզել կայքի այցելուի Ip- ը
Video: PanArmenian E-library - How to download and read books 2024, Մայիս
Anonim

Ամենից հաճախ կայքի այցելուի IP հասցեն օգտագործվում է նրան նույնացնելու համար: Բայց բացի դրանից, IP- ի օգտագործմամբ, դուք կարող եք շատ լրացուցիչ տեղեկություններ ստանալ այցելուի մասին, օրինակ ՝ պարզել նրա ինտերնետ մատակարարը և աշխարհագրական դիրքը: Գործնականում սերվերային կողմի PHP գրերը առավել հաճախ օգտագործվում են զննարկչի կողմից ուղարկված հարցման վերնագրերից IP հասցեներ հանելու համար:

Ինչպես պարզել կայքի այցելուի ip- ը
Ինչպես պարզել կայքի այցելուի ip- ը

Դա անհրաժեշտ է

PHP- ի հիմնական գիտելիքներ

Հրահանգներ

Քայլ 1

Օգտագործեք PHP- ի ներկառուցված getenv ֆունկցիան `IP հասցեներ կարդալու գերհամաշխարհային միջավայրի փոփոխական զանգվածից: Ամենապարզ դեպքում բավական կլինի կարդալ REMOTE_ADDR անունով փոփոխականը: PHP կոդի համապատասխան կտորը կարող է նման լինել. $ UserIP = getenv ('REMOTE_ADDR');

Քայլ 2

Հայցում ուղարկված REMOTE_ADDR փոփոխականից բացի, ստուգեք HTTP_VIA և HTTP_X_FORWARDED_FOR փոփոխականները: Եթե այցելուը վստահված սերվեր է օգտագործում, ապա միջանկյալ հասցեն պետք է գրանցվի երկու փոփոխականներում ՝ և՛ HTTP_VIA, և՛ REMOTE_ADDR: Այս դեպքում HTTP_X_FORWARDED_FOR- ի միջոցով կարող եք փորձել պարզել այցելուի իրական IP- վստահված անձի սերվերը պետք է դրա մեջ բերի բնօրինակ հասցեն: Այնուամենայնիվ, դա միշտ չէ, որ արվում է, և օգտագործողը հնարավորություն ունի ընտրելու «անթափանց» վստահված սերվեր, որը չի փոխանցում հարցումն ուղարկած այցելուի բնօրինակ IP- ն: Ամեն դեպքում, դուք պետք է օգտագործեք հնարավորինս շատ եղանակներ ձեր կոդի մեջ IP բնօրինակը ստանալու համար ՝ ավելացնելով ստուգում HTTP_CLIENT_IP փոփոխականի համար:

Քայլ 3

PHP կոդի մեկ տողում միացրեք շրջակա միջավայրի երեք փոփոխականների հաջորդական ստուգում, որը կարող է պարունակել այցելուի սկզբնական IP հասցեն: Դա կարող է արվել, օրինակ, հետևյալ կերպ.

Քայլ 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');

ՎԵՐԱԴԱՐՁԻ ԴՐԱՄ (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

Խորհուրդ ենք տալիս: