[PHP] Referer controleren

Pagina: 1
Acties:
  • 5.358 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • lennartkocken
  • Registratie: September 2004
  • Laatst online: 20-09 20:35
Ik ben nou op m'n site bezig met een partnerprogramma dat iedereen een unieke link krijgt, en voor elke klik krijgt de user een punt en de user van de maand krijgt dan een prijs. Nou is het probleem alleen dat als iemand op z'n site
[code][img]"http://siteguide.name/?uid=x">[/code][/img] punt krijgt. Nou heb ik dat voorkomen door elke keer te controleren op een referer:

code:
1
if ($_SERVER['HTTP_REFERER'] != ""){ //er is een referer, voeg toe aan database


maar als nou iemand de unieke link via MSN of Email wil verspreiden krijgt hij er dus geen punten voor omdat er geen referer is. Kan ik dan voorkomen dat er toch wordt gezien waar de bezoeker vandaan komt (MSN / email) en dat een afbeelding of verborgen frame toch wordt geblokkeerd?

[ Voor 5% gewijzigd door lennartkocken op 22-02-2006 22:12 ]

Goedkoopste hardware


Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

waarom geef je niet gewoon partner nummers mee in de url?

als subdomain, of gewoon als url argument?
bij ongeveer elk groot partner systeem werkt men met of partner.domain.nl, of domain.nl?partner=partnerID
Eventueel kun je met

btw, mensen die sites via msn enzo verspreiden is uber irritant, banners op websites is al vervelend genoeg.
wat je beter kunt doen is zorgen dat je een echt viral marketing plan ontwikkeld, wat neit afhangt van het weggeven van prijzen of het aantrekken van niet geintresseerde bezoekers.

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • lennartkocken
  • Registratie: September 2004
  • Laatst online: 20-09 20:35
killercow schreef op woensdag 22 februari 2006 @ 22:18:
waarom geef je niet gewoon partner nummers mee in de url?

als subdomain, of gewoon als url argument?
bij ongeveer elk groot partner systeem werkt men met of partner.domain.nl, of domain.nl?partner=partnerID
Eventueel kun je met

btw, mensen die sites via msn enzo verspreiden is uber irritant, banners op websites is al vervelend genoeg.
wat je beter kunt doen is zorgen dat je een echt viral marketing plan ontwikkeld, wat neit afhangt van het weggeven van prijzen of het aantrekken van niet geintresseerde bezoekers.
ehhh je krijgt een unieke link: www.siteguide.name/?uid=hierjouwuserid

en wat bedoel je met
btw, mensen die sites via msn enzo verspreiden is uber irritant, banners op websites is al vervelend genoeg.
:?

Goedkoopste hardware


Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

Als iedereen een unieke code krijgt, waar zijn dan de referers voor nodig?
(of wil je het aantal punten gaan limiten met referer?)

Ik neem aan dat je vraag te maken heeft met het promoten van je site.
Tenzij je echt zeker weet dat je de prijzen keer op keer netjes kunt uitkeren (ookal krijg je weinig extra nuttig verkeer, is het niet handig om je huidige bezoekers zo'n worst voor te houden.

Om je site door bezoekers te laten promoten zul je inderdaad een viral marketing plan moeten bedenken wat niet afhangt van jouw financiele mogelijkheden. (want die staan in dit geval los van de opbrengsten voor jouw)

Wat wel een handige manier is om je users zelf actief aan het promoten te krijgen is natuurlijk lastig maar jouw idee hebben al zo veel mensen geprobeerd, en elke keer loopt het na een x aantal veels te grote uitgaven af met een sisser waar niemand blij van wordt.

Bezoekers trek je niet door mensen op MSN op een linkje te laten klikken (klik ff, dan krijg ik een punt), maar door mensen te interesseren in de content die je hebt.

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 16-09 16:02

JHS

Splitting the thaum.

killercow schreef op woensdag 22 februari 2006 @ 22:26:
Als iedereen een unieke code krijgt, waar zijn dan de referers voor nodig?
Om te voorkomen dat mensen op valselijke wijze punten verzamelen met broken images of hidden iframes. Staat in de TS ;) .

DM!


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 15:31

orf

Controleer met behulp van een afbeelding op de pagina of de pagina is aangeroepen:

[img]"script.php?umique_id=xxx"[/img]

Je start op de hoofdpagina een sessie, in het script wat in de img tag staat controleer je de afbeelding.

Dan heeft het opnemen van de pagina in een img tag minder zin. (meerdere img tags opnemen zal wel weer werken.)

Ik zou zelf voor een systeem als AdSense gaan. Website-eigenaren moeten een stukje javascript in hun pagina's plakken. Dan heb je veel meer controle over de links.

Acties:
  • 0 Henk 'm!

  • lennartkocken
  • Registratie: September 2004
  • Laatst online: 20-09 20:35
killercow schreef op woensdag 22 februari 2006 @ 22:26:
Als iedereen een unieke code krijgt, waar zijn dan de referers voor nodig?
(of wil je het aantal punten gaan limiten met referer?)

Ik neem aan dat je vraag te maken heeft met het promoten van je site.
Tenzij je echt zeker weet dat je de prijzen keer op keer netjes kunt uitkeren (ookal krijg je weinig extra nuttig verkeer, is het niet handig om je huidige bezoekers zo'n worst voor te houden.

Om je site door bezoekers te laten promoten zul je inderdaad een viral marketing plan moeten bedenken wat niet afhangt van jouw financiele mogelijkheden. (want die staan in dit geval los van de opbrengsten voor jouw)

Wat wel een handige manier is om je users zelf actief aan het promoten te krijgen is natuurlijk lastig maar jouw idee hebben al zo veel mensen geprobeerd, en elke keer loopt het na een x aantal veels te grote uitgaven af met een sisser waar niemand blij van wordt.

Bezoekers trek je niet door mensen op MSN op een linkje te laten klikken (klik ff, dan krijg ik een punt), maar door mensen te interesseren in de content die je hebt.
Aah, zo. Nou we hebben in ieder geval een sponsor die hostingpakketen weggeeft, en zij krijgen dan een banner bovenaan onze frontpage en onderaan op ons forum.

het probleem is dus niet die ongeïnteresseerden bezoekers, maar meer de manier waarop leden hun punten verdienen: verborgen frames, dode afbeeldingen, etc etc. Hier wil ik dus een oplossing voor ;)

Goedkoopste hardware


Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

JHS schreef op woensdag 22 februari 2006 @ 22:30:
[...]
Om te voorkomen dat mensen op valselijke wijze punten verzamelen met broken images of hidden iframes. Staat in de TS ;) .
Ah,, ik had al het idee dat ik het allemaal niet helemaal snapte (of dat hij het niet snapte)

Dat soort dingen is helaas bijna niet haalbaar om uit te sluiten.
Zelfs het mensen via een img tag kan uitsluiten, zijn er nog hele bergen ander hacks te bedenken, en kun je eigenlijk alleen met echt heel zwaar geschut (zoals HTML parsen van de referer) echt uitsluitsel geven.
lennartkocken schreef op woensdag 22 februari 2006 @ 22:33:
[...]


Aah, zo. Nou we hebben in ieder geval een sponsor die hostingpakketen weggeeft, en zij krijgen dan een banner bovenaan onze frontpage en onderaan op ons forum.

het probleem is dus niet die ongeïnteresseerden bezoekers, maar meer de manier waarop leden hun punten verdienen: verborgen frames, dode afbeeldingen, etc etc. Hier wil ik dus een oplossing voor ;)
Dan nog, als er kudde's mensen naar jouw ite gelokt worden (nu via kapotte links), straks via linkjes met de tekst: "hypotheek, ook met BKR notering?" of "Gratis porno" is jouw sponsor niet blij met jouw verkeer, en zal hij hier sooner or later mee stoppen.

Als je groot wilt worden zal ook bij je sponsers de schoorsteen moeten blijven roken.
Ik weet ook de magische sleutel niet, maar er zijn duizenden sites op het internet die wel steady kwaliteits verkeer kunnen genereren en hier duidelijk de vruchten van plukken. (zie tweakers, fok)

[ Voor 46% gewijzigd door killercow op 22-02-2006 22:39 ]

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 15:31

orf

het probleem is dus niet die ongeïnteresseerden bezoekers, maar meer de manier waarop leden hun punten verdienen: verborgen frames, dode afbeeldingen, etc etc. Hier wil ik dus een oplossing voor
Alleen uitkeren wanneer die bezoeker een aankoop doet.

Acties:
  • 0 Henk 'm!

  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024

Thomasje

Semacode

Ik zou voor zoiets op een unieke klik afgaan. Dus ip loggen en maar 1x toestaan.

Wat je nog zou kunnen doen is het 1x per dag toestaan.

Acties:
  • 0 Henk 'm!

  • lennartkocken
  • Registratie: September 2004
  • Laatst online: 20-09 20:35
orf schreef op woensdag 22 februari 2006 @ 22:37:
[...]


Alleen uitkeren wanneer die bezoeker een aankoop doet.
Moeten we eerst iets verkopen ;)
of misschien pas een punt bij minimaal 5 pageviews of per registraties. Maarja, dan krijg je nog steeds: "registreer even, dan krijg ik punten" en vervolgens alleen maar databasevervuiling. Maar jullie vinden dus dat ik niet moet beveiligen omdat alles te omzeilen is (zonder al te veel moeite)?
Thomasje schreef op woensdag 22 februari 2006 @ 22:38:
Ik zou voor zoiets op een unieke klik afgaan. Dus ip loggen en maar 1x toestaan.

Wat je nog zou kunnen doen is het 1x per dag toestaan.
Wordt al gedaan ;)

[ Voor 23% gewijzigd door lennartkocken op 22-02-2006 22:39 ]

Goedkoopste hardware


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 15:31

orf

Ik zou voor zoiets op een unieke klik afgaan. Dus ip loggen en maar 1x toestaan.

Wat je nog zou kunnen doen is het 1x per dag toestaan.
Als ik een website heb met zeg 3000 bezoekers per dag en ik zet een afbeelding (het script) op de voorpagina, dan zorg ik zomaar voor 300 hits. Als je dan doet zoals ik al aangaf, dan werkt een afbeelding niet; een verborgen iframe zou echter nog steeds werken.

Ik denk dat registratie een groot deel van je problemen weghaalt. die genoemde 3000 bezoekers krijg ik niet zo ver dat ze zich allemaal registreren op je website (incl. e-mail activatie).

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Je zou javascript hiervoor kunnen inzetten. Op de pagina die de gesponsorde link verwerkt zet je dan een scriptje dat met een willekeurige AJAX techniek een request doet naar de pagina die het partnerid zal opslaan. Hierdoor zorg je ervoor dat alleen request van clients die Javascript ondersteunen tot punten leiden. Image-requests zullen niet leiden tot punten omdat een browser geen javascript parsed in een plaatje.
Om van hidden frames af te komen voeg je een check in of de pagina niet in een frame zit. Een conceptje zou er zo uit kunnen zien:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$partnerId = (!empty($_GET['partner'])) ? (int) $_GET['partner'] : 0;

function createRandomUniqueKey() {
    /** generate and save a key that opens a 1 minute window to store a partner */
}
$checkKey = createRandomUniqueKey();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
         "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <script type="text/javascript">
 var partner = <?=$partnerId?>;
 if (this.parent == this.window && partner) {
  request = new Image();
  request.src = 'referralSaveScript.php?partner=<?=$partnerId?>&checkkey=<?=$checkKey?>';
 }
 </script>
</head>
</html>

Een kwaadwillende zou zo nog steeds de pagina kunnen opvragen en de checkcode kunnen uitlezen, maar als je die een beetje obfuscated in je pagina stopt dan ben je al van 99% van de cheaters af. 100% waterdicht zul je toch nooit halen...

Regeren is vooruitschuiven


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

bovenstaande code zou wel aardig werken als je de unique random key ook nog eens aan IP hangt, dat kan je nooit met server-side code uitvissen van de key moet zijn,

welk hash algoritme je hier voor moet gebruiken? als sla je me dood :) (een db met keys zou ook kunnen maar groeit veel te snel, en moet je blijven purgen,)

openkat.nl al gezien?

Pagina: 1