ugrás a tartalomhoz

Partner programhoz banner követéses rendszer

stan · 2009. Nov. 19. (Cs), 14.36
Saját készítésű php-mysql alapú weboldalamhoz szeretnék készíteni egy partner-programot (angol nevén affiliate program). Lényege, hogy regisztrációkor meg lehet adni a "Partner azonosító" mezőben egy azonosító számot, és ha valaki így regisztrál, akkor a beírt "Partner azonosító"-val rendelkező ember alá regisztrál be. Ha ez az új regisztráló az oldalamon vásárol, akkor a megadott partner ezért jutalékot kap. Ha én pl. ajánlom személyesen egy ismerősömnek az oldalt, és leírom neki egy cetlire a kódomat, hogy regisztrációkor ezt ne felejtse el megadni, akkor természetesen probléma nélkül működik a dolog.

Az elképzelés úgy bonyolódik, hogy ezt a rendszert szeretném kiegészíteni egy banner követéses alrendszerrel. Ennek lényege, hogy ha a felhasználót érdekli a partner-program, és van neki egy vagy több weboldala, akkor kitehesse a banneremet, és aki ezen keresztül jut el az oldalra és regisztrál, az automatikusan az ő partnere.

Ötletem az, hogy először is a felhasználónak meg kell adnia azokat a célwebdolalakat, amelyekre szeretné kirakni a bannereimet. Ezeket a weboldalakat átnézem, mielőtt engedélyezném a megjelenést, mert nekem fontos, hogy igényes oldalakon jelenjenek meg a hirdetéseim, és holmi pornó, warez, dj haknijancsi oldalán ne jelenhessen meg partner program szinten, mert az rontja az én márkanevemet. Amint elfogadtam a webcímeket fontos, hogy csak az innen érkező felhasználók legyenek a weboldal tulajdonos automatikus partnerei, az előbb taglalt szerkesztési irányelvek miatt.

Programozás szempontjából úgy oldanám meg, hogy miután elfogadtam az általa beküldött célweboldalakat, publikálnám számára a megfelelő HTML kódot, amit beilleszthet az oldalára. Ez egy képlink-ből áll, amely megjelenít egy általa választott bannert a lehetőségek közül, tehát az én weboldalam /banners mappájából jelenítené meg a képet az ő weboldalán. A képre kattintva eljuthatunk az én saját weboldalamra egy GET kiegészítéssel, amely tartalmazza a tulajdonos azonosítóját. Az oldalamra beérkező ilyen lekéréskor a PHP megnézné, hogy honnan érkezett a látogató, és hogy ennek a felhasználónak az adatbázisban előzetesen eltárolt banners nevű táblában van-e ilyen elfogadott weboldala. Ha van, akkor a HTML generálásakor minden menüpont linkje kiegészülne ezzel a GET azonosítóval, tehát a felhasználó bárhová is megy az oldalon, ez az érték megmarad (természetesen ha újraindítja a böngészőt, akkor ez az érték elveszik, de lehet hogy akkor már a kedves látogató húga ül a gép elé, és így már nem nevezhető a gazda partnerének).

Ha megtetszik neki az oldal, és rákattint a regisztráció menüpontra, az átadott GET érték alapján a regisztrációs űrlap "Partner azonosító" mezője automatikusan kitöltődne a gazda azonosítójával, amit a regisztráló nem tudna átírni (persze ha letölti az űrlapot HTML-ben akkor átírhatja, de feltételezem, hogy nem crackerek fognak regelni). Ez azért is jó, mert így a gazda tulajdonos, ha maga is kipróbálja a bannerét, láthatja, hogy tényleg az ő partnere lesz az onnan jövő felhasználó, és nem nyúlom le a jutalékát.

Kérdésem, hogy ez a koncepció jó-e?
Másik kérdésem, hogy PHP-vel hogyan lehet lekérni azt, hogy a látogató honnan érkezett az oldalamra?
 
1

első gondolatok...

errata · 2009. Nov. 23. (H), 21.46
Helló

"...Ha van, akkor a HTML generálásakor minden menüpont linkje kiegészülne ezzel a GET azonosítóval, tehát a felhasználó bárhová is megy az oldalon, ez az érték megmarad..."
A SESSION jobb megoldás szerintem...

"...Másik kérdésem, hogy PHP-vel hogyan lehet lekérni azt, hogy a látogató honnan érkezett az oldalamra?..."
$_SERVER['HTTP_REFERER']
<--- ezt a böngésző küldi el az oldaladnak, tehát megbízhatatlan. Ez azt jelenti, hogy módosítható, letiltható.

amúgy tapasztalataim szerint azaz felhasználói oldalról így szokott működni, ilyen rendszert még nem fejlesztettem.

Amúgy én a helyedben elgondolkoznék, még iframes vagy ajaxos megoldáson (esetleg fopen-el php-s megoldás) a kattintható képre, mert így tudsz teljesen egyedi dinamikus linket generálni minden oldalra akár minden lekérésre és így a nyomon követés könnyebé válhat..
2

jó ötlet

stan · 2009. Nov. 23. (H), 22.01
Közben én is rájöttem, hogy SESSION-nel fogom megoldani a felhasználó követését, a GET kiegészítéses szisztéma helyett.

A HTTP REFERER módosítható, de egy felhasználó, aki valóban vásárolni akar nálam, nem hiszem, hogy foglalkozna ennek a manipulálásával, hiszen ő ettől nem jut semmilyen előnyhöz. Az oldal gazdája pedig, akitől érkezik, nem hiszem hogy tudná valamilyen módon módosítani a kliens böngészőjénak beállítását, vagy igen?

Természetesen egyéb technológiai lehetőségeken még el fogok gondolkodni, hiszen ennél azért kifinomultabban is meg lehet oldani a banner megjelenítésért felelős forráskódot, de nincs időm több időm. Később még változtathatok a kódon, legfeljebb értesítem a partnereket, hogy cseréljék le a régi kódjukat az új kódra, mert hamarosan csak azzal fog működni a rendszer.
3

még 1 gondolat:

errata · 2009. Nov. 23. (H), 22.33
php-s megoldás:
kliens kód (nem lehet elrontatni :)

$ticket = file_get_contents('http://www.te-oldalad.hu/partner-ticket.php');
echo $ticket;
$_SERVER['REMOTE_ADDR'] <-- val megnézed hogy jó-e a partner ip-je, ha igen ki adod neki a megfelelő html kódot valami ilyet:

<a href="http://www.te-oldalad.hu/index.php?pertner-ticket-number=0101010">
<img src="http://www.te-oldalad.hu/banner.jpg" />
</a>
ezt kombinálhatód még sok féle módon minden lekéréshez egyedi kód, akkor tuti nem tudják kirakni más oldalra ami nem felel meg neked (warez stb...)
statisztikázhatsz is (pl: menyi idő telik el a generálás és a regisztrálás között bizonyos oldalakon, vagy azt is látod hogy a másik oldalnak mekkora a látogatottsága :) stb...)

bocsi a sok példáért csak így könnyebb magyarázni :)
4

értem de nem lesz jó

stan · 2009. Nov. 24. (K), 00.40
Ha jól értem azt mondod, hogy php kódot tegyen ki az partnerem az oldalára?

Mi van ha a kliens nem futtathat php-t? Ami azért elég gyakori, mert nagyon sokan használnak blogokat, ahol maximum html vagy javascript kódot tehetsz ki egy modulba.
5

igazad van

errata · 2009. Nov. 24. (K), 03.21
igazad van, ez szembe se jutott (megszokás :) )
akkor maradnak a kliens oldali nyelvek és a referer cím.
Még az ajax technológiával tudsz tartalmat át tölteni, és beágyazni de azt már a kliens teszi, javascriptel lekérhető a domain ahol le van futtatva, szerintem ennyi ami maximum kihozható ebből.

illetve ami még lehetséges:
elhelyezik a képedre mutató linket máshol (jelen esetben a hirdető oldalán)
.htaccess -el meg a képre érkező külső linkeket átirányítod egy php scriptre ami a képet adja vissza (gd libary), de emelet a referer is nézi honnan linkelték meg és megteszi a szükséges lépéseket

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule ^\.(gif|jpg)$ http://www.mydomain.com/displayBanner.php?%{HTTP_REFERER} [R,L]

valahogy így
de igazából ez a megoldás már nem annyira működőképes mert lementhetik a képet stb...

remélem azért tudtam adni ötleteket a megvalósításhoz...
6

..

carstepPCE · 2009. Nov. 24. (K), 14.38
mi van ha a kiszolgalt banner elnevezeseben helyezned el a partnerkodot.

szerk. vagy akar barmely link(object, flash) vagy image forrasa is lehet php

-cs-
Sanyi
7

köszönöm

stan · 2009. Nov. 25. (Sze), 15.59
A .htaccess megoldás tetszik, ez már egy fejlettebb változat lenne, de még mindig nem ez lesz a legjobb megoldás.

A legjobb ahogy a GOOGLE ADSENSE rendszerben a hirdetések kihelyezése történik. Mert ugye nem csak szöveges hanem képes hirdetések megjelenítésére is alakalmas az a javascript kód, amit be kell illsztened az oldaladba. Mondjuk azért a GOOGLE technológiával nem szállhatok versenybe, de valami hasonlót talán én is ki tudnék fejleszteni.

Tehát innen indul a történet, de persze, hogy mi történik a GOOGLE részéről, azt ebből nem látjuk.