Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak rozwiązać taki problem gdy nie ma getenv(http_referer)
Forum PHP.pl > Forum > PHP
Sznaps
Założeniem było stworzenie programu partnerskiego. Ja udostępniam komuś kod , który zamieszczony na stronie będzie wyświetlał mój banner. Jak ktoś kliknie i u mnie coś kupi to osoba , na której stronie banner się znajduje dostanie prowizję. Plan był taki , że przy rejestracji partner dostaje id i podaje adres gdzie umieści banner. W kodzie wyświetlającym banner jest zmienna id w linku na moją stronę. U mnie system sprawdza czy jak doszlo takie id to czy klient przyszedł z wpisanej przez partnera strony ( przez referera ) i jeśli tak i jeśli klient opłaci co trzeba partner dostaje prowizję. Niestety napisałem to i okazało się że nie ma refererów ( są puste serwer tego nie obsługuje i co robić:-((((((((((((9 ) Pozdrawiam i wielkie dzieki za każdą radę. sad.gif
adwol
Cytat
( są puste serwer tego nie obsługuje i co robić:-((((((((((((9 )

Co znaczy, że serwer tego nie obsługuje? Zobacz czy $_SERVER['HTTP_REFRER'] też nie istnieje. Obstawiałbym bardziej, że to przeglądarka nie wysyła referera niż że to wina serwera.
Sznaps
odpaliłem kilka różnych szkapę, operę,mozillę itd i wszędzie to samo:-(((((
spenalzo
To sprawdź czy przez JavaScript możesz odczytać referera.
Sznaps
nigdy takiego skryptunie używałem.Pozdrawiam.
spenalzo
To masz włąsnie okazję. O ilę się nie myle to jest to document.referer.
Sznaps
poniższy kod niestety nie dziąła

$referer= ?><script language="JavaScript" type="text/javascript">document.referrer</script> <?;
spenalzo
1. Tak jak napisałem referer, a nie referrer.
2. Zobacz czy to działa
[xml:1:09a6abbe44]<script language="JavaScript" type="text/javascript">document.write(document.referer)</script>[/xml:1:09a6abbe44]
scanner
Może tak?
Kod
document.write ("&amp;referer=" + escape(document.referer));


__
Spenalzo; damm... U'r fast...
Sznaps
niestety...:-((((
spenalzo
Cytat
niestety...:-((((

Co niestety? Niestety nie wróżymy w dni parzyste.

Cytat
Spenalzo; damm... U'r fast...[/size]

Wiesz... jakbyś słuchał jak się robi dzielenie modulo w pascalu, to też byś tak pisał...
Sznaps
Wyskakuje mi undefined...to było to niestety:-) Pozdrawiam.
spenalzo
Nie wiem czy wiesz, ale referer będzie ylko wtedy, jeżeli na stronę x.php wejdziesz ze strony y.php - jak wpiszesz adres to bedzię pusty referer.
Poza tym: www.google.pl
scanner
OT:
Cytat
Cytat
Spenalzo; damm... U'r fast...[/size]
Wiesz... jakbyś słuchał jak się robi dzielenie modulo w pascalu, to też byś tak pisał...
No ja takich luksusów nie mam smile.gif
Sznaps
a mogliubyście podsunąć jakiś alternatywny pomysł na rozwiązanie tego projektu bez użycia referera??
scanner
Cytat
Plan był taki , że przy rejestracji partner dostaje id
Do którego można dopiąć jakiś hash, np: md5( ID i czegos jeszcze ) - i na tej piodstawie identyfikowac partnera. To wystarczy.
Sznaps
no ale jak skopiuje ten banner i po4rozsyła na innych stronkach to co? zawsze przyjdzie to samo id i klucz do hasha i wszystko będzie się zgadzało.
spenalzo
To źle, że więcej wyświetleń?
Sznaps
no ja muszę płacić prowizję jakiejś osobie.Jeżeli on roześle banner po iluś tam stronach to każdy zakup idzie na jego konto. Osoba , dla której to robię nie chce aby zaistniała taka sytuacja.
spenalzo
Hmm no fakt.
scanner
Płacisz prowizję za wyświetlenie?questionmark.gifquestionmark.gifquestionmark.gif
spenalzo
Cytat
Płacisz prowizję za wyświetlenie?questionmark.gifquestionmark.gifquestionmark.gif

Fakt, nie zauważyłem...
Ale to jest najlepszy sposób na stracenie kasy i nie zarobienie niczego.
Sznaps
nie za wyświetlanie!! Gdy ktoś poprzez ten banner wejdzie i kupi coś na stronie to wtedy osoba, która zamieściła banner dostaje jakąś prowizję.:-)
scanner
a dla Ciebie tą osobą, która powinna dostać prowizję jest ID - więc w czym problem, bo chyba nie rozumiuem...
Sznaps
ID jest przekazywane z linkiem na moją stronę. ALE!!: jeżeli ten kto wszeedł w program partnerski roześle kod żródłowy wyświetkający banner na 1000 sajtów to jeżeli ktoś coś kupi przychodząc z innego sajtu ( na który osoba ta wsadziła kod ze swoim id ) to i tak trzeba będzie zapłacić temu komuś z programu partnerskiego a jak napoisałem wcześniej nie chcemy takiej sytuacji . Tak więc po prostu najlepiej by było identyfikować z którego sajtu przyszedł klient ale niestety referer nie działa tak wiec....jak inaczej??macie jakiś pomysł?Pozdrawiam.
scanner
Cytat
jeżeli ten kto wszeedł w program partnerski roześle kod żródłowy wyświetkający banner na 1000 sajtów to jeżeli ktoś coś kupi przychodząc z innego sajtu ( na który osoba ta wsadziła kod ze swoim id ) to i tak trzeba będzie zapłacić temu komuś z programu partnerskiego
No i gdzie tu problem? Jeśłi mam kilka stron, to nie mam mieć prawa umieszczania mnojego ID na każdej z nich?questionmark.gifquestionmark.gif?
Sznaps
pewnie że masz ale w tym wypadku ta sprawa ma wyglądać tak a nie inaczej i nie zależy to ode mnie:-)
scanner
[quote]'HTTP_REFERER'
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. [b]Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trustedPokaż to swojemu zleceniodawcy.
Osobiście nie znam metody (poza instalowaniem jakiegoś oprogramowania u klienta), która mogła by Ci pomóc.
Sznaps
tia ciężka sprawa. Wielkie dzięki dla wszystkich za rady. Bardzo fajne forum muszę powiedzieć.:-)
scanner
Cytat
Bardzo fajne forum muszę powiedzieć.:-)
A jak fajnie obieramy ziemniaki....
shw
hmmm - mysle, ze niewykonalne jest takie zabezpieczenie - jezeli by bylo, to taki nieuczciwy gosciu moglby w bannerze podac kod nie do twojej stronki, ale najpierw do skryptu na swojej, ktory przekierowywuje na ta twoja...
musisz pomyslec nad jakims innym pewniejszym rozwiazaniem - moze wpisywanie adresu strony referenta w formularzu zakupu or sth like that?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.