Uniwersalna zawartość strony nie zawsze dostosowana jest odpowiednio do języka, przeglądarki czy systemu polecającego, który użytkownikom ma zaoferować coś ekstra. Wprowadzenie reguł odpowiednio do potrzeb naszego systemu jest w stanie realnie poprawić trafność i jakości treści wyświetlanej przez użytkownika. W tym artykule odpowiem na pytanie jak zastosować zmienną zawartość strony internetowej ze względu na np. źródło wizyty.

Ustalanie reguł z pomocą PHP

Na pomoc w “odcedzeniu” użytkowników wychodzi PHP z ‘Superglobalną’ funkcją $_SERVER. Funkcja ta jest tablicą zawierającą różne informacje o środowisku, użytkowniku i serwerze, które określają zmienne. Aby np. wyświetlić osobną ofertę, link czy obrazek użytkownikom, których źródło wizyty pochodzi ze ‘strony-partnera’ zastosujemy zmienną HTTP_REFERER.

<?php
$poleca = $_SERVER['HTTP_REFERER'];
if (preg_match("/strona-partnera.html/",$poleca)) {
<h2>Dostałeś gratis</h2>
}
else {
<h2>Nie dostałeś gratisu</h2>
}
?>

Przy zastosowaniu tej zmiennej można również przekierowywać ruch na inną stronę WWW, a przez co zabezpieczyć treści przed użytkownikami, których źródło odwiedzin jest inne niż np. strona naszego partnera.

<?php
$poleca = $_SERVER['HTTP_REFERER'];
if (preg_match("/strona1.pl/",$poleca)) {
header('Location: http://tomaszm.pl/');
} elseif (preg_match("/strona2.pl/",$poleca)) {
header('Location: http://tomaszm.pl/blog');
} else {
header('Location: http://www.google.com/');
}
?>

Istnieje kilkadziesiąt zmiennych $_SERVER, które potrafią znaleźć przeróżne zastosowanie. Jednym z nich jest takie które podzieli wizyty na np. rodzaje przeglądarek.

$agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match("/Mozilla/",$agent)) 
{ ... } 
 else 
{ ... }

Te kilka prostych na pozór zmiennych daje olbrzymi wachlarz możliwości ich wykorzystania w różny sposób. Czasem wystarczy trochę obserwacji i dobry pomysł by dzięki temu wprowadzić ciekawą innowację na swojej stronie internetowej.

A tu niżej przykład zastosowania zmiennej ‘HTTP_USER_AGENT’, która dostosuje treść strony internetowej pod wejście z apki Facebook przez kliknięcie linku  np. we wiadomości prywatnej.

if (preg_match("/facebookexternalhit/",$agent))

Więcej informacji o tych i innych zmiennych funkcji $_SERVER znaleźć można oczywiście na http://php.net/manual/pl/reserved.variables.server.php

Bezpieczeństwo

Przede wszystkim zagrożeniem jest nieprzemyślane działanie, które może zaszkodzić reputacji naszej strony internetowej. Pamiętajmy, oprócz użytkowników dla których chcielibyśmy dostosować treść, naszą stronę odwiedzają również boty wyszukiwarek. Co prawda, widziałem już rozwiązania przekierowujące roboty wyszukiwarek do innych stron. Jednak jak twierdzi John Mueller z Google, rozwiązania bazujące na przekierowaniach ze względu na np. adres IP (zmienna REMOTE_ADDR) nie są dobre. Takie rozwiązania mogą zniszczyć prawidłową indeksację strony w wyszukiwarkach internetowych, ale też sfrustrować naszych własnych użytkowników. Poza tym poznając reguły naszego systemu można go w różny sposób nadużywać, dając możliwość podglądu ‘zabezpieczonej’ w ten sposób treści.

Jeśli szukasz odpowiedniego sposobu na stworzenie bezpiecznego systemu, który podoła Twoim potrzebom wystarczy, że napiszesz do mnie.

Tagi: , , , , , , ,