Skrypt ten ukrywa reklamy GAdS przed nieuczciwą konkurencją, aby zapobiec zbanowaniu naszego konta w programie Google AdSesnse.
Więcej o tym napisałem w artykule: zabezpieczenie przed klikaniem w reklamy GAdS.
Aby użyć go na swojej stronie - musisz znać choćby podstawy języka php i mysql. O tym że strona musi być zrobiona w php nawet nie wspominam. Cały ten skrypt umieszczamy w jakimś automatycznie dołączanym nagłówku każdej strony (include). Można go wtedy łatwo modyfikować i wyłączyć ("otoczyć komentarzem").
Jak wykryć takie zachowanie internauty (wyklikiwanie)?
Zastanówmy się co robi taki typ. Otóż nieświadomy że mamy taką blokadę - klika reklamę, przechodzi na reklamowaną stronę, po czym wraca na tę samą naszą stronę na której kliknął reklamę i klika ją ponownie. Po prostu tak jest najszybciej i najłatwiej (reklama - wstecz - reklama, itd.). Jeżeli tak zrobi, to już sobie u nas więcej nie poklika, przynajmniej w tym dniu, nawet na innej podstronie naszego serwisu. Po takim "zabiegu" skrypt przyporządkuje mu zmienną sesji (że to klikacz) i umieści jego IP w bazie danych "klikaczy", oraz ukryje reklamy GAdS.
Wiemy jak zachowuje się "kliker" więc przy każdym wejściu ustawiamy mu zmienną sesji $_SESSION['lokal'] której wartością będzie adres aktualnej strony (URL) - lecz dopiero po części sprawdzającej, o której poniżej. Jeżeli skrypt sprawdzający wykryje, że ta zmienna przechowuje aktualną stronę (ponowne wejście na tę samą podstronę) - wprowadzi nową zmienną sesji $_SESSION['ukryj'] i przyporządkuje jej wartość 1, oraz wprowadzi adres IP klikacza do bazy.
Inicjujemy sesję. W miejsce nazwa_sesji możesz wstawić dowolną nazwę (na każdej podstronie serwisu taką samą):
session_name ('nazwa_sesji');
session_start();
Wprowadzamy 3 zmienne i przyporządkowujemy im: URL aktualnej strony ($lokalizacja), IP odwiedzającego ($ip), aktualny czas ($czas):
$lokalizacja = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
$czas = time();
Wprowadzamy fragment sprawdzający. Zaczynamy od sprawdzenia, czy użytkownik jest już wykryty jako łobuz, bo po co sprawdzać dalej jak już jest odchaczony?
if ($_SESSION['ukryj'] != 1) {
Jeżeli nie jest - sprawdzamy czy nie odwiedził tej strony dwa razy pod rząd (kliknął i wrócił na tę samą):
if ($_SESSION['lokal'] == $lokalizacja) {
Jeżeli odwiedził, wprowadzamy jego IP do bazy danych i wprowadzamy wcześniej wspomnianą zmienną sesji $_SESSION['ukryj'] i nadajemy jej wartość 1:
/-- wywołanie połączenia z bazą danych --/
$query = "INSERT INTO nazwa_tabeli (ip, time) VALUES ('$ip', '$czas')";
$result = mysql_query ($query);
$_SESSION['ukryj'] = 1;
}
Jeżeli jeszcze nie odwiedzał (przyszedł z innej podstrony) - sprawdzamy czy nie ma go w bazie (mógł wyczyścić ciasteczka, ale z bazy na pewno się nie usunął). Jeżeli jest w bazie - wprowadzamy wcześniej wspomnianą zmienną sesji $_SESSION['ukryj'] i nadajemy jej wartość 1:
else {
/-- wywołanie połączenia z bazą danych --/
$query2 = "SELECT ip FROM nazwa_tabeli WHERE ip = '$ip' LIMIT 1";
$result2 = mysql_query ($query2);
$row2 = mysql_num_rows($result2);
if ($row2 != 0) {
$_SESSION['ukryj'] = 1;
}
}
}
Na koniec, o czym pisałem na początku - ustawiamy mu zmienną sesji $_SESSION['lokal'] której wartością będzie adres aktualnej strony (URL). Gdybyśmy zrobili to na początku - reklamy ukrywałyby się za każdym razem.
$_SESSION['lokal'] = $lokalizacja;
Teraz przyszedł czas na umieszczenie reklam w treści strony. Oczywiście musimy umieścić je w wyrażeniu sprawdzającym. Jeżeli skrypt wykryje, że zmiennej sesji $_SESSION['ukryj'] przyporządkowana jest wartość 1 - schowa reklamy, a w ich miejsce wyświetli reklamy innego PP.
if ($_SESSION['ukryj'] != 1) {
echo'
/-- REKLAMA GAdS --/';
} else {
echo'
/-- INNA REKLAMA --/';
}
Oczywiście nie można zapomnieć o stworzeniu odpowiedniej tabeli w bazie danych obsługującej nasz serwis, np. takiej:
CREATE TABLE `nazwa_tabeli` (
`id` int(9) unsigned NOT NULL auto_increment,
`ip` char(16) collate utf8_polish_ci NOT NULL,
`time` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci COMMENT='blokowanie ip po kliknięciu w reklamę gads' AUTO_INCREMENT=1 ;
Trzeba też okresowo czyścić tę tabelę (np. co 12 - 24 godzin). Najlepiej zrobić to w Cron'ie.
Wadą tego skryptu jest to, że ukrywa reklamy GAdS również po odświeżeniu strony. Dlatego bardzo ważne jest uczestnictwo w innym programie partnerskim i wyświetlanie reklam z tego PP w miejsce ukrytych. Ja mam serwer w nazwa.pl, i biorę udział w ich PP. Dość powiedzieć, że strona, która ma jedynie 100 UU dziennie zarabia mi punkty potrzebne do opłacenia serwera (normalnie 366 zł). Więc w sumie mam serwer za darmo ;)
Crona się nie robi. Odsyłam do wiki - cron.
Jeżeli serwer, który masz wykupiony go udostępnia, to ok, jeżeli nie to lipa. Zmień serwer.
W nazwa.pl jest dostępny w panelu administracyjnym jako harmonogram zadań. Tam ustawiasz ścieżkę do skryptu który ma się automatycznie uruchomić. Ustalasz tam też jak często ma się uruchamiać.
© copyright: www-4u.pl