Toon posts:

POST via XMLHttpRequest geblokkeerd door Adblockers

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Middels cross browser scripting wil ik een POST actieuitvoeren.

Aangezien het te integreren script (API) zo simpel mogelijk moet blijven (i.v.m. integratie door eindgebruikers) wil ik de POST actie uitvoeren middels XMLHttpRequest. Zodoende hoeft de eindgebruiker geen externe librairies in te laden.

Op website A staat een XMLHttpRequest script welke een aantal waardes 'POST' naar een .PHP script van website B. Het .PHP script schrijft desbetreffende waardes weg in een database, er komt geen response terug van het script op website B naar website A.

Ik gebruik onderstaand script op website A:
code:
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
// <![CDATA[
var waarde1 = 'testwaarde1';
var waarde2       = 'testwaarde2';
var api         = new XMLHttpRequest();
api.open('POST', encodeURI('http://domein.nl/script.php'));
api.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
api.send(encodeURI('waarde1='+waarde1+'&waarde2='+waarde2));
// ]]>
</script>


De XLMHttpRequest werkt goed, echter wordt het .PHP script op website B geblokkeerd zodra er een Adblocker is geïnstalleerd. De reden van blokkeren is 'XML verzoek'.

Heeft iemand enig idee hoe ik dit kan voorkomen?

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 10-10 16:54

André

Analytics dude

Het is een cross-domain script, niet een cross-browser script ;)

Blijkbaar heb je een adblocker die alle XML verzoeken naar andere domeinen blokkeert. Dan kun je 2 dingen doen: dat accepteren, of een technologie gebruiken die niet geblokkeerd wordt. Je kunt bijvoorbeeld een img gebruiken die een URL aanroept. Er hoeft toch geen callback gedaan te worden.

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
(ikzelf zit niet met dit probleem, maar ik ben gewoon benieuwd :))
André schreef op dinsdag 08 maart 2016 @ 15:14:
Je kunt bijvoorbeeld een img gebruiken die een URL aanroept. Er hoeft toch geen callback gedaan te worden.
Kun je hier een voorbeeld van geven?

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 10-10 16:54

André

Analytics dude

JavaScript:
1
2
plaatje = new Image()
plaatje.src = "http://trackingserver";

Acties:
  • 0 Henk 'm!

  • PeaceNlove
  • Registratie: Juni 2004
  • Laatst online: 13:41

PeaceNlove

Deugleuter

André schreef op maandag 21 maart 2016 @ 19:37:
JavaScript:
1
2
plaatje = new Image()
plaatje.src = "http://trackingserver";
Maar dan ben je dus wel beperkt in de data die je verstuurt aangezien dit via GET moet.

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 10-10 16:54

André

Analytics dude

PeaceNlove schreef op maandag 21 maart 2016 @ 19:38:
[...]

Maar dan ben je dus wel beperkt in de data die je verstuurt aangezien dit via GET moet.
Je hebt dan ongeveer 2000 karakters, zowat 99% van alle analytics pakketten heeft daar genoeg aan. Je moet geen hele tekstblokken gaan versturen natuurlijk.

Google Analytics doet bijvoorbeeld altijd een GET tenzij de request te lang wordt, dan valt die terug op POST.

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
André schreef op maandag 21 maart 2016 @ 19:37:
JavaScript:
1
2
plaatje = new Image()
plaatje.src = "http://trackingserver";
Dank!
Op zich een coole oplossing, maar het voelt wat 'hackish'.

Aan de andere kant: welke serieuze web dev maakt zich hier niet 'schuldig' aan? O-)

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 10-10 16:54

André

Analytics dude

Het is totaal niet hackish? Het is bijvoorbeeld een vrij standaard manier om afbeeldingen te preloaden voor rollovers.
Pagina: 1