Ga naar inhoud
Log in om dit te volgen  
viezelolly

Hoe maak ik een AJAX call naar PHP veilig?

Aanbevolen berichten

Heyhey,

Ik zou graag een AJAX call willen maken door middel van JQuery. De bedoeling is dat de PHP code alleen wordt uitgevoerd vanuit de AJAX call en niet wanneer de PHP code zelf wordt aangeroepen. Is er een manier om dit te realiseren?

Ik hoor graag van jullie!

xoxo ViezeLolly

Deel dit bericht


Link naar bericht
Delen op andere sites
In Ajax een POST request maken en daar dan een vaste data aan meegeven. Bijvoorbeeld [c]$_POST[ajax] = true;[/c]
Kijk dan in de PHP of [c]$_POST[ajax] == true[/c] en als dat het geval is, uitvoeren.

Deel dit bericht


Link naar bericht
Delen op andere sites
Het hoeft niet eens per-se met POST en al helemaal niet per-se met een POST parameter. Zolang je maar een parameter hebt die anders is tijdens een AJAX call dan tijdens een normale call werkt het al. Bijvoorbeeld:
  • Een controle of er een bepaalde GET-parameter binnenkomt (zoals ajax=1)
  • Een controle of er een POST request binnenkomt in plaats van GET
  • Een controle of er een POST request binnenkomt met een bepaalde parameter (zoals ajax=1)

Deel dit bericht


Link naar bericht
Delen op andere sites
GET-paramaters zijn te faken, de aanroep naar een AJAX-call kan je met een degelijke webdeloper-toolkit zo opzoeken.

Ikzelf zit te denken aan PHP-sessions binnen je domein. Misschien dat dat nog zal werken.
Ook kan je kijken of een request daadwerkelijk via AJAX gaat:
Codeblok:
1
2
3
4
5
<?php
if(!empty($_SERVER[HTTP_X_REQUESTED_WITH]) && strtolower($_SERVER[HTTP_X_REQUESTED_WITH]) == xmlhttprequest) {
//AJAX HIER! (en dus geen feyenoord)
}
?>

Deel dit bericht


Link naar bericht
Delen op andere sites
Gast
Aarclay (link):
GET-paramaters zijn te faken, de aanroep naar een AJAX-call kan je met een degelijke webdeloper-toolkit zo opzoeken.

Ikzelf zit te denken aan PHP-sessions binnen je domein. Misschien dat dat nog zal werken.
Ook kan je kijken of een request daadwerkelijk via AJAX gaat:
Codeblok:
1
2
3
4
5
<?php
if(!empty($_SERVER[HTTP_X_REQUESTED_WITH]) && strtolower($_SERVER[HTTP_X_REQUESTED_WITH]) == xmlhttprequest) {
//AJAX HIER! (en dus geen feyenoord)
}
?>


Volgens mij is ook dit gewoon makkelijk te faken hoor?

Mijn vraag is, waarom zou je de code alleen willen uitvoeren vanuit je eigen call? En niet als de user om een of andere reden zelf de pagina opvraagt?
Wat je zou kunnen doen is een algoritme bedenken die een code genereert en php doet dan hetzelfde, moet volgens een geheim algoritme gebeuren en als die codes overeenkomen dan de code uitvoeren, en elke code is maar eenmalig geldig en is gebonden aan een timestamp met een offset van 1 of 2 seconden, als het laden van de pagina langer duurt dan accepteert hij hem al niet.

Maar dit is allemaal overdreven moeilijk voor iets wat je gewoon moet laten zoals het is lijkt mij

Deel dit bericht


Link naar bericht
Delen op andere sites
Ik denk dat je hele ontwerp voor dit systeem niet klopt, vertel eens wat je precies wilt doen, dan kunnen wij eens nadenken.

Deel dit bericht


Link naar bericht
Delen op andere sites
Het kan niet.

Een AJAX call is niets meer dan een request van je browser, dus niets belet iemand om die request gewoon na te bootsen.

Ga er dus maar vanuit dat het géén geldige AJAX call is en bouw met die gedachte je feature. Als je het echt wil weten dan klopt er inderdaad iets niet met je ontwerp, zoals Milan zegt.

Deel dit bericht


Link naar bericht
Delen op andere sites
Viezelolly (link):
Hetgene wat ik wil is inloggen door middel van een AJAX call naar PHP.


Je controleer via PHP of het wachtwoord klopt, waarom zou je dat via JS willen doen?

Dus form > ajax request > php checkt of het goed is

das veilig

Deel dit bericht


Link naar bericht
Delen op andere sites
Dylan (link):
Viezelolly (link):
Hetgene wat ik wil is inloggen door middel van een AJAX call naar PHP.


Je controleer via PHP of het wachtwoord klopt, waarom zou je dat via JS willen doen?

Dus form > ajax request > php checkt of het goed is

das veilig


Bedankt! smiley

Maar: hij moet ook checken of er een adblocker actief is en dat is te faken en kan uiteraard niet door middel van PHP worden gecheckt... smiley

Deel dit bericht


Link naar bericht
Delen op andere sites
Viezelolly (link):
Dylan (link):
Viezelolly (link):
Hetgene wat ik wil is inloggen door middel van een AJAX call naar PHP.


Je controleer via PHP of het wachtwoord klopt, waarom zou je dat via JS willen doen?

Dus form > ajax request > php checkt of het goed is

das veilig


Bedankt! smiley

Maar: hij moet ook checken of er een adblocker actief is en dat is te faken en kan uiteraard niet door middel van PHP worden gecheckt... smiley


Als een website goed genoeg is zet ik mijn adblocker wel uit
Als ik een contentgate krijg omdat ik een adblocker aan heb staan kom ik niet meer op de site.

Dus weet niet of je content wil limiteren wanneer er een adblocker actief is, maar zet dat idee maar uit je hoofd. Dat is funest voor je website.

Deel dit bericht


Link naar bericht
Delen op andere sites
Rik (link):
Viezelolly (link):
Dylan (link):
Klik om eerdere quotes te tonen


Je controleer via PHP of het wachtwoord klopt, waarom zou je dat via JS willen doen?

Dus form > ajax request > php checkt of het goed is

das veilig


Bedankt! smiley

Maar: hij moet ook checken of er een adblocker actief is en dat is te faken en kan uiteraard niet door middel van PHP worden gecheckt... smiley


Als een website goed genoeg is zet ik mijn adblocker wel uit
Als ik een contentgate krijg omdat ik een adblocker aan heb staan kom ik niet meer op de site.

Dus weet niet of je content wil limiteren wanneer er een adblocker actief is, maar zet dat idee maar uit je hoofd. Dat is funest voor je website.


De website is voor een advertentienetwerk, later zou er een vergoeding aan de publisher moeten worden uitgekeerd haha.

Deel dit bericht


Link naar bericht
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Maak een account aan in onze gemeenschap. Het is makkelijk!

Registreer een nieuw account

Aanmelden

Ben je al lid? Meld je hier aan.

Nu aanmelden
Log in om dit te volgen  

×