Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

8 отговора 181 прегледа
#1

Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

Значи имам една форма при попълването на която изпращам данните (POST) към obrabotka.php (примерно)

И там взимам следното:
$referer = $HTTP_SERVER_VARS['HTTP_REFERER']

Правя проверка да не е празно ? -> като очаквам в $referer да има нещо подобно http:/domain/forma.html

Проблема че в даден случай незнайно кой и как това
$HTTP_SERVER_VARS['HTTP_REFERER']
може да е празно.

Защо така се получава ?
имате ли идея ... и не трябвали след като има посетена страница преди това то да разчитаме че $referer няма да е праазно .

Отговор
в отговор на Geleto #2

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

Ако потребителя е зад някакъв firewall съвсем сигурно няма да получиш информация за HTTP_REFERER

съвет: старай се да използваш $_SERVER['HTTP_REFERER'] вместо $HTTP_SERVER_VARS['HTTP_REFERER']

Отговор
в отговор на Geleto #3

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

Пробвай с print_r($HTTP_SERVER_VARS) и print_r($_SERVER) да видиш какво имаш в обкръжението.

priatelite.net - Твоите приятели!
Отговор
в отговор на Geleto #4

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

не разчитай на тази променлива, high-anonymous прокси не ти я дават.

-----------------------
гърбавия - ковчег ще го изправи
Отговор
в отговор на Geleto #5

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

Ок. Мерси за отговорите.

В такъв случай какво да позлвам за да правя проверка дали данните които ми се пращат са от домейна върху който е скрипта и работя?

В смисъл такъв да не си качи някой форма някъде при него и да праща данните към файла php от друга място в опити да прави злини и да "пробива" това онова ?

Отговор
в отговор на Geleto #6

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

session var при отварянето на форма и проверка за нея след събмит, няма променлива - няма събмит :)

-----------------------
гърбавия - ковчег ще го изправи
Отговор
в отговор на Geleto #7

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

HTTP_REFERER се изпраща от браузера по принцип. Някои барузери имат настройки които да го забраняват, както и може да се манипулира от юзера, не е толкова трудно повярвай ми !
В отговор на:

В такъв случай какво да позлвам за да правя проверка дали данните които ми се пращат са от домейна върху който е скрипта и работя?

В смисъл такъв да не си качи някой форма някъде при него и да праща данните към файла php от друга място в опити да прави злини и да "пробива" това онова ?




В такъв случай си проверявай данните които са ти подадени. ВИНАГИ !

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор
в отговор на ro6avia #8

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

абе принципно и аз съм на тая вълна в момента - праа си некъф фреймуърк, и ми се ще да се защитя колкото може повече по дефолт... номера с проверката не е много ефикасен, щото усера може да подаде валидни данни и проверката да мине, ама да няма право да го прави по тоя начин (т.е. директно да си събмитне негова си форма към моя скрипт)
така че ако имате някви други предложения - давайте насам
(тва със сесиите ми се вижда най-добре, ама не искам да обвързвам фреймуърка със сесии, т.е. ако искаш, можеш да си пуснеш сесия, ама по дефолт е без)...

Just a genius

Отговор
в отговор на Blake #9

Re: Празен $HTTP_SERVER_VARS['HTTP_REFERER'] ???

А бе то и сесията може да се хайджакне или както се казва там думата, така че .........

хакерите са много големи копелета (пу да се е*а и аз)

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор