Użytkownik: Hasło:

Nie masz konta? Zarejestruj się

Zarabianie na stronach www

Na początek

T-www-orzenie

Zarabianie na www

Ocena stron www

Własne forum na www

Różniste

Jak się zabezpieczyć przed wyklikaniem reklam przez nieuczciwą konkurencję?.

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").

Wprowadzenie

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.

Objaśnienie działania skryptu

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 --/';
}

Cały Skrypt wraz ze szkieletem strony

<?php
session_name ('nazwa_sesji');
session_start();

$lokalizacja = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
$czas = time();

if ($_SESSION['ukryj'] != 1) {
 if ($_SESSION['lokal'] == $lokalizacja) {
  /-- wywołanie połączenia z bazą danych --/
  $query = "INSERT INTO nazwa_tabeli (ip, time) VALUES ('$ip', '$czas')";
  $result = mysql_query ($query);
  $_SESSION['ukryj'] = 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;
  }
 }
}
$_SESSION['lokal'] = $lokalizacja;

echo'
<html>
<head>
...mety i te inne...
</head>
<body>
...kod strony...
';

if ($_SESSION['ukryj'] != 1) {
 echo'
 /-- REKLAMA GAdS --/';
} else {
  echo'
  /-- INNA REKLAMA --/';
}
?>

Baza danych

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.

Podsumowanie

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 ;)


Komentarze do tego artykułu (2)

mały (2009-10-02) Komentarz 1

jak zrobić crona

www-4u (2009-10-11) Komentarz 2

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ć.

Skomentuj ten artykuł (zadaj pytanie).

Twój Nick:

Numer komentarza na który odpowiadasz
Jeżeli nie odpowiadasz na konkretny komentarz pozostaw to pole puste.

Twój Komentarz: (Proszę, nie wstawiaj linków ani kodu HTML)

© copyright: www-4u.pl

powrót na górę strony