Როგორ გამოვიყენოთ HTTP Referer

რამ რისი საშუალებით შეგიძლიათ გააკეთოთ მსაჯის პროცესი

ვებსაიტებზე დაწერილი ინფორმაცია მხოლოდ მონაცემების ნაწილია, საიდანაც ეს საიტები გადასცემენ ვებ-სერვერს, როგორც ბრაუზერისა და პირიქით. ასევე არსებობს მონაცემთა გადაცემის სამართლიანი ოდენობა, რომელიც ხდება სცენების მიღმა - და თუ იცით, თუ როგორ წვდომას ეს მონაცემები, თქვენ შეგიძლიათ გამოიყენოთ იგი საინტერესო და სასარგებლო გზებით! ამ სტატიაში ჩვენ გადავხედავთ ერთ კონკრეტულ მონაცემს, რომელიც გადაცემულია ამ პროცესში - HTTP Referer.

რა არის HTTP Referer?

HTTP referer არის მონაცემები, რომელიც გადაეცემა ვებ ბრაუზერები სერვერზე გითხრათ რა გვერდი მკითხველი იყო, სანამ ისინი მოვიდა ამ გვერდზე. ეს ინფორმაცია შეიძლება გამოყენებულ იქნას თქვენი ვებსაიტზე დამატებით დახმარების გაწევის, სპეციალური შეთავაზებების შექმნა მიზნობრივი მომხმარებლებისთვის, გადამისამართება მომხმარებლებთან შესაბამის გვერდებსა და შინაარსში, ან თუნდაც დაბლოკოს სია თქვენს საიტზე ჩამოსვლამდე. თქვენ ასევე შეგიძლიათ გამოიყენოთ სკრიფტინგის ენა, როგორიცაა JavaScript, PHP ან ASP, რათა წაიკითხოთ და შეაფასოს რეფერენტის ინფორმაცია.

შეგროვება Referer ინფორმაცია PHP, JavaScript და ASP

როგორ შეაგროვოთ ეს HTTP რეფერენტი მონაცემები? აქ არის რამდენიმე მეთოდი შეგიძლიათ გამოიყენოთ:

PHP ინახავს ინფორმაციას რეფერატორს, რომელიც შეიცავს HTTP_REFERER. გამოაქვეყნონ მკაფიო PHP გვერდი, შეგიძლიათ დაწეროთ:

თუ (isset ($ _ SERVER ['HTTP_REFERER'])) {
echo $ _SERVER ['HTTP_REFERER'];
}

ეს ამოწმებს, რომ ცვლადს აქვს მნიშვნელობა და შემდეგ მას ეკრანზე ათავსებს. ნაცვლად echo $ _SERVER ['HTTP_REFERER']; თქვენ დააყენებთ სკრიპტის ხაზებს, რათა შეამოწმონ სხვადასხვა მსაჯები.

JavaScript იყენებს DOM- ს მკითხველის წაკითხვისთვის. ზუსტად ისევე, როგორც PHP, უნდა შეამოწმოთ, რომ მსაჯს აქვს მნიშვნელობა. თუმცა, თუ გსურთ მანიპულირება რომ ღირებულება, თქვენ უნდა მითითებული მას ცვლადი პირველი. ქვემოთაა, თუ როგორ აჩვენე მსაჯმა თქვენს გვერდზე JavaScript- ს. გაითვალისწინეთ, რომ DOM იყენებს რეფერენტის ალტერნატიულ ორთოგრაფიას და დამატებით დამატებით "რ" დასძენს:

თუ (document.referrer) {
var myReferer = document.referrer;
document.write (myReferer);
}

მაშინ თქვენ შეგიძლიათ გამოიყენოთ მსაჯები სკრიპტებით ცვლადიანი MyReferer .

ASP, როგორიცაა PHP, ადგენს მსაჯს სისტემის ცვლადში. ამის შემდეგ შეგიძლიათ შეაგროვოთ ინფორმაცია:

თუ (Request.ServerVariables ("HTTP_REFERER")) {
Dim myReferer = მოთხოვნა. სერვერის ვარიაციები ("HTTP_REFERER")
Response.Write (myReferer)
}

თქვენ შეგიძლიათ გამოიყენოთ ცვლადი myReferer თქვენი სკრიპტების საჭიროების შესაცვლელად.

მას შემდეგ, რაც თქვენ გაქვთ მსაჯული, რის გაკეთება შეგიძლიათ?

ასე რომ მიღება მონაცემები არის ნაბიჯი 1. როგორ წავიდეთ შესახებ, რომ დამოკიდებული იქნება თქვენი კონკრეტული საიტი. შემდეგი ნაბიჯი, რა თქმა უნდა, არის ამ გზების გამოყენების გზების მოძიება.

მას შემდეგ, რაც თქვენ გაქვთ მსაჯული მონაცემები, შეგიძლიათ გამოიყენოთ ეს სცენარი თქვენს საიტებზე რიგ გზებზე. ერთი მარტივი რამ, რაც შეგიძლიათ გააკეთოთ, არის მხოლოდ პოსტი, სადაც ფიქრობთ სტუმარი. ცხადია, ეს საკმაოდ მოსაწყენია, მაგრამ თუ საჭიროა რამდენიმე ტესტის გაშვება, ეს შეიძლება იყოს კარგი შესვლის წერტილი.

რა არის უფრო საინტერესო მაგალითი, როდესაც იყენებთ მსაჯს სხვადასხვა ინფორმაციის გამოსაქვეყნებლად, რაც დამოკიდებულია იქიდან? მაგალითად, შეგიძლიათ გააკეთოთ შემდეგი:

ბლოკის მომხმარებლები. Htaccess- ით Referer- ით

უსაფრთხოების თვალსაზრისით, თუ თქვენ განიცდიან ბევრი referer spam თქვენს საიტზე ერთი კონკრეტული domain, მას შეუძლია დაეხმაროს უბრალოდ დაბლოკოს რომ დომენი თქვენი საიტი. თუ თქვენ იყენებთ Apache- ს mod_rewrite- ს გამოყენებით, შეგიძლიათ დაბლოკოს მათ რამდენიმე ხაზი. დაამატეთ თქვენი .htaccess ფაილი :

RewriteEngine- ზე
# პარამეტრები + FollowSymlinks
RewriteCond% {HTTP_REFERER} spammer \ .com [NC]
RewriteRule. * - [F]

გახსოვდეთ, რომ შეცვალოთ სიტყვა spammer \ .com დომენისთვის, რომ გსურთ დაბლოკოთ. გახსოვდეთ, რომ დომენში ნებისმიერი პერიოდის წინ დავდგეთ.

არ დაეყრდნო მსაჯს

გახსოვდეთ, რომ შესაძლებელია მსაჯების გაყალბება, ასე რომ, მარადიულად არ გამოიყენოთ მსაჯი უსაფრთხოებისთვის. თქვენ შეგიძლიათ გამოიყენოთ იგი როგორც თქვენი დამატებითი უსაფრთხოებისათვის, მაგრამ თუ გვერდი მხოლოდ კონკრეტული ადამიანების მიერ ხელმისაწვდომი იქნება, მაშინ უნდა შეიტანოთ პაროლი htaccess- ზე .