Разлика между версии на „Променлива на средата“

От Администрация и управление
Направо към навигацията Направо към търсенето
 
(Не са показани 3 междинни версии от същия потребител)
Ред 1: Ред 1:
 
'''Променливите на средата''' (environment variables) представляват '''динамични стойности, които засягат работещите процеси в една операционна система'''.
 
'''Променливите на средата''' (environment variables) представляват '''динамични стойности, които засягат работещите процеси в една операционна система'''.
==Определение==
+
==Същност==
 
Съществува един особен вид променливи, наричани "променливи на обкръжението". Най-общо казано, това са променливи, поддържани от [[сървър]]а и PHP [[интерпретатор]]а, описващи текущото състояние на връзката и характеристиките на двете страни в нея - клиент и сървър.  
 
Съществува един особен вид променливи, наричани "променливи на обкръжението". Най-общо казано, това са променливи, поддържани от [[сървър]]а и PHP [[интерпретатор]]а, описващи текущото състояние на връзката и характеристиките на двете страни в нея - клиент и сървър.  
 
Двете промливи - $HTTP_USER_AGENT и $HTTP_REFERER, помагат да се открие с какъв браузър посетителят разглежда страницата и от къде е дошъл на нея.  
 
Двете промливи - $HTTP_USER_AGENT и $HTTP_REFERER, помагат да се открие с какъв браузър посетителят разглежда страницата и от къде е дошъл на нея.  
 
Събирането и анализирането на подобни данни е безкрайно полезно за всеки web разработчик. Така можете да научите кой [[сайт]] ви праща най-много посетители и да организирате рекламната си стратегия, наблягайки на него. Полезно е също и да следите кои от страниците в сайта ви се посещават повече и предизвикват по-голям интерес, така че да наблегнете на тях и на подобен вид [[съдържание]] в по-нататъчното изграждане на сайта.  
 
Събирането и анализирането на подобни данни е безкрайно полезно за всеки web разработчик. Така можете да научите кой [[сайт]] ви праща най-много посетители и да организирате рекламната си стратегия, наблягайки на него. Полезно е също и да следите кои от страниците в сайта ви се посещават повече и предизвикват по-голям интерес, така че да наблегнете на тях и на подобен вид [[съдържание]] в по-нататъчното изграждане на сайта.  
 +
==Пример==
 
Пълен преглед на променливите на средадата може да видите, използвайки вградената в PHP [[функция]] - phpinfo(). Напишете в текстов файл следните редове :  
 
Пълен преглед на променливите на средадата може да видите, използвайки вградената в PHP [[функция]] - phpinfo(). Напишете в текстов файл следните редове :  
  
Ред 18: Ред 19:
  
 
Нека сега обясним отделните редове в него. Нямаше нужда да използвам променливите $browser, $ref, $user_ip, $forw, $serv и $rem_host, но ги включих за по-голяма прегледност. Всяка от тях получи за стойност стойността на някоя от променливите на средата.  
 
Нека сега обясним отделните редове в него. Нямаше нужда да използвам променливите $browser, $ref, $user_ip, $forw, $serv и $rem_host, но ги включих за по-голяма прегледност. Всяка от тях получи за стойност стойността на някоя от променливите на средата.  
 +
 
На променливата с име "browser" бе присвоена стойността на $HTTP_USER_AGENT, която винаги съдържа идентификационната информация на браузъра. Браузърът Opera позволява на потребителите си да променят [[идентификация]]та й, така че тя може да се представя като IE или Netscape. Причината е в рестрикциите, които някои сайтове налагат на използващите [[браузър]], различен от Internet Expolorer. Обикновено това също става с помощтта на $HTTP_USER_AGENT. Имайки предвид особеностите на различните браузъри, можете да покажете на посетителя на сайта си страница, оптимизирана за неговата програма, съдейки по съдържанието на тази променлива на средата. В скоби казано, възможността на Opera да се представя по различен начин може да ви изправи пред куриозната информация, че посетителят използва IE под [[операционна система]] Linux.  
 
На променливата с име "browser" бе присвоена стойността на $HTTP_USER_AGENT, която винаги съдържа идентификационната информация на браузъра. Браузърът Opera позволява на потребителите си да променят [[идентификация]]та й, така че тя може да се представя като IE или Netscape. Причината е в рестрикциите, които някои сайтове налагат на използващите [[браузър]], различен от Internet Expolorer. Обикновено това също става с помощтта на $HTTP_USER_AGENT. Имайки предвид особеностите на различните браузъри, можете да покажете на посетителя на сайта си страница, оптимизирана за неговата програма, съдейки по съдържанието на тази променлива на средата. В скоби казано, възможността на Opera да се представя по различен начин може да ви изправи пред куриозната информация, че посетителят използва IE под [[операционна система]] Linux.  
 +
 
На променливата с име "ref" бе присвоена стойността на $HTTP_REFERER, съдържаща URL на мястото, от което идва посетителят. Вече обяснихме по-подрбоно тази променлива, но трябва да имате предвид, че тя не винаги дава полезна информация. В конкретния случай едва ли мога да очаквам, че Yahoo са поставили на началната си страница [[линк]] към моя тестов файл.  
 
На променливата с име "ref" бе присвоена стойността на $HTTP_REFERER, съдържаща URL на мястото, от което идва посетителят. Вече обяснихме по-подрбоно тази променлива, но трябва да имате предвид, че тя не винаги дава полезна информация. В конкретния случай едва ли мога да очаквам, че Yahoo са поставили на началната си страница [[линк]] към моя тестов файл.  
 +
 
Променливата, наименувана "user_ip" получи стойността на променливата на средата $REMOTE_ADDR. Тя винаги съдържа в себе си IP адреса на посетителя. Тук много рядко може да се получи разминаване на стойността с истинската. Защото сървърът използва стойността й за да определи на кого да изпрати поискания файл.  
 
Променливата, наименувана "user_ip" получи стойността на променливата на средата $REMOTE_ADDR. Тя винаги съдържа в себе си IP адреса на посетителя. Тук много рядко може да се получи разминаване на стойността с истинската. Защото сървърът използва стойността й за да определи на кого да изпрати поискания файл.  
 +
 
Много често се случва множество потребители да се намират зад едно или повече прокси сървъри. Няма да коментираме сега защо и как се получва това. В случая трябва да имаме предвид, че ако посетителят е зад прокси, то $REMOTE_ADDR ще покаже IP адреса на проксито. За адреса на клиентската [[машина]] се създава нова променлива - $HTTP_X_FORWARDED_FOR. Повечето прокси сървъри осигуряват тази информация, особено ако [[администратор]]ите им не желаят да изкарат живота си по съдебните зали.
 
Много често се случва множество потребители да се намират зад едно или повече прокси сървъри. Няма да коментираме сега защо и как се получва това. В случая трябва да имаме предвид, че ако посетителят е зад прокси, то $REMOTE_ADDR ще покаже IP адреса на проксито. За адреса на клиентската [[машина]] се създава нова променлива - $HTTP_X_FORWARDED_FOR. Повечето прокси сървъри осигуряват тази информация, особено ако [[администратор]]ите им не желаят да изкарат живота си по съдебните зали.
 
Използването на последните две описани променливи на средата е полезно, когато давате достъп до чувствителна информация или по една или друга причина е важно да знаете кой точно е отсреща. Така можете да ограничите достъпа до сайта си на хора, които нарушават добрия тон в него или да подсигурите сигурността му при e-commerce приложения.  
 
Използването на последните две описани променливи на средата е полезно, когато давате достъп до чувствителна информация или по една или друга причина е важно да знаете кой точно е отсреща. Така можете да ограничите достъпа до сайта си на хора, които нарушават добрия тон в него или да подсигурите сигурността му при e-commerce приложения.  
 +
 
Тук използвахме и още една променлива на [[външна среда|среда]]та - $SERVER_SOFTWARE, която съдържа в себе си информация за сървърния софтуер - версия на сървъра и операционна система. В горния пример използвахме това, като "подпис" на [[съобщение]]то.
 
Тук използвахме и още една променлива на [[външна среда|среда]]та - $SERVER_SOFTWARE, която съдържа в себе си информация за сървърния софтуер - версия на сървъра и операционна система. В горния пример използвахме това, като "подпис" на [[съобщение]]то.
  
 
==Вижте още==
 
==Вижте още==
 
*[[Компютър]]
 
*[[Компютър]]
*[[Джон Атанасов]]
 
*[[Клавиатура]]
 
*[[Система]]
 
*[[Информация]]
 
*[[Анализ на данните]]
 
 
*[[Анализ]]
 
*[[Анализ]]
 
*[[ASCII]]
 
*[[ASCII]]
Ред 37: Ред 38:
 
*[[Двоичен код]]
 
*[[Двоичен код]]
 
*[[Променлива в програмирането]]
 
*[[Променлива в програмирането]]
 +
 
==Източници==
 
==Източници==
 
*[http://itplace.info/index.php?p=view_tutorial&id=73 Видове променливи]
 
*[http://itplace.info/index.php?p=view_tutorial&id=73 Видове променливи]

Текуща версия към 10:23, 1 април 2014

Променливите на средата (environment variables) представляват динамични стойности, които засягат работещите процеси в една операционна система.

Същност

Съществува един особен вид променливи, наричани "променливи на обкръжението". Най-общо казано, това са променливи, поддържани от сървъра и PHP интерпретатора, описващи текущото състояние на връзката и характеристиките на двете страни в нея - клиент и сървър. Двете промливи - $HTTP_USER_AGENT и $HTTP_REFERER, помагат да се открие с какъв браузър посетителят разглежда страницата и от къде е дошъл на нея. Събирането и анализирането на подобни данни е безкрайно полезно за всеки web разработчик. Така можете да научите кой сайт ви праща най-много посетители и да организирате рекламната си стратегия, наблягайки на него. Полезно е също и да следите кои от страниците в сайта ви се посещават повече и предизвикват по-голям интерес, така че да наблегнете на тях и на подобен вид съдържание в по-нататъчното изграждане на сайта.

Пример

Пълен преглед на променливите на средадата може да видите, използвайки вградената в PHP функция - phpinfo(). Напишете в текстов файл следните редове :

<?

phpinfo();

?>

Запишете го на сървъра с име info.php, примерно, и го отворете в браузъра си. Ще видите най-важната информация за PHP инсталацията, както и всички създадени в текущата връзка променливи на средата на PHP и сървъра. Изписаното в левите полета на таблицата представляват имената на променливите, а в дясната част - стойностите им. Нека сега разширим примера и добавим още малко информация в него.

Psr.png

Нека сега обясним отделните редове в него. Нямаше нужда да използвам променливите $browser, $ref, $user_ip, $forw, $serv и $rem_host, но ги включих за по-голяма прегледност. Всяка от тях получи за стойност стойността на някоя от променливите на средата.

На променливата с име "browser" бе присвоена стойността на $HTTP_USER_AGENT, която винаги съдържа идентификационната информация на браузъра. Браузърът Opera позволява на потребителите си да променят идентификацията й, така че тя може да се представя като IE или Netscape. Причината е в рестрикциите, които някои сайтове налагат на използващите браузър, различен от Internet Expolorer. Обикновено това също става с помощтта на $HTTP_USER_AGENT. Имайки предвид особеностите на различните браузъри, можете да покажете на посетителя на сайта си страница, оптимизирана за неговата програма, съдейки по съдържанието на тази променлива на средата. В скоби казано, възможността на Opera да се представя по различен начин може да ви изправи пред куриозната информация, че посетителят използва IE под операционна система Linux.

На променливата с име "ref" бе присвоена стойността на $HTTP_REFERER, съдържаща URL на мястото, от което идва посетителят. Вече обяснихме по-подрбоно тази променлива, но трябва да имате предвид, че тя не винаги дава полезна информация. В конкретния случай едва ли мога да очаквам, че Yahoo са поставили на началната си страница линк към моя тестов файл.

Променливата, наименувана "user_ip" получи стойността на променливата на средата $REMOTE_ADDR. Тя винаги съдържа в себе си IP адреса на посетителя. Тук много рядко може да се получи разминаване на стойността с истинската. Защото сървърът използва стойността й за да определи на кого да изпрати поискания файл.

Много често се случва множество потребители да се намират зад едно или повече прокси сървъри. Няма да коментираме сега защо и как се получва това. В случая трябва да имаме предвид, че ако посетителят е зад прокси, то $REMOTE_ADDR ще покаже IP адреса на проксито. За адреса на клиентската машина се създава нова променлива - $HTTP_X_FORWARDED_FOR. Повечето прокси сървъри осигуряват тази информация, особено ако администраторите им не желаят да изкарат живота си по съдебните зали. Използването на последните две описани променливи на средата е полезно, когато давате достъп до чувствителна информация или по една или друга причина е важно да знаете кой точно е отсреща. Така можете да ограничите достъпа до сайта си на хора, които нарушават добрия тон в него или да подсигурите сигурността му при e-commerce приложения.

Тук използвахме и още една променлива на средата - $SERVER_SOFTWARE, която съдържа в себе си информация за сървърния софтуер - версия на сървъра и операционна система. В горния пример използвахме това, като "подпис" на съобщението.

Вижте още

Източници

Външни препратки