Gebruik van Ajax
httpObject.open("GET", "mijnscript.php?inputText="+document.getElementById('inputText').value, true)
Maar dat betekent dus dat iemand weet hoe mijn script heet (mijnscript.php) en die kan ie dus zo oproepen. En dat is niet de bedoeling. Als ik op andere professionele websites kijk die van die Validatietechniek gebruik maken dan zie ik allemaal andere codes, maar géén van allen heeft zoiets waarbij de naam van het script naar voren komt. Weer een ander gebruikt JSON. Kortom, ik snap er geen fluit van. Zou iemand mij een beetje kunnen helpen. Heel erg bedankt alvast!
Ik heb weinig kennis van Ajax, maar mag de persoon in kwestie al dan niet weten of mijnscript.php bestaat? Of volstaat om de bezoeker toegang te weigeren tot dat script?
Maar wat is het probleem dat iemand de scriptnaam ziet, je weet toch niet wat de source is?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if($_SERVER['REMOTE_ADDR']!='het_IP_van_webserver) {
header('Location: index.php');
}
/* Overige code */
?>
if($_SERVER['REMOTE_ADDR']!='het_IP_van_webserver) {
header('Location: index.php');
}
/* Overige code */
?>
Ik ben wel benieuwd naar een site met een 'verborgen' ajax call url. Kan zijn dat deze gepacked is...
In dit geval vind ik een sessie compleet overbodig. Onnodig tmp-files maken...
Ligt eraan. Als het een inlog controle is.
http://www.w3schools.com/php/php_ajax_database.asp
In de code is te vinden dat het script getuser.php heet. Dus als ik de url uitvoer met een id 1 krijg ik http://www.w3schools.com/php/getuser.php?q=1. Heel leuk natuurlijk, maar iedereen kan de gegevens zien en dat is nou juist niet de bedoeling.
@WriteDown, die mogelijkheid is inderdaad goed, maar ook 100% waterdicht? Volgensmij niet toch?
Ja, dat bedoel ik inderdaad. Wat als het een inlogcontrole is? Die ga ik misschien ook maken. Of een andere controlescript. Stel de volgende site voor: In de code is te vinden dat het script getuser.php heet. Dus als ik de url uitvoer met een id 1 krijg ik http://www.w3schools.com/php/getuser.php?q=1. Heel leuk natuurlijk, maar iedereen kan de gegevens zien en dat is nou juist niet de bedoeling.
@WriteDown, die mogelijkheid is inderdaad goed, maar ook 100% waterdicht? Volgensmij niet toch?
Volgens mij wel, tenzij er iemand op de server zelf naar jouw website surft, maar dat gebeurd normaal niet... Je zou natuurlijk ook de referrer kunnen nakijken, dus kijken of mijnscript.php effectief is aangeroepen door een pagina waarop het mag.
Maar waarom mogen ze het niet handmatig aanroepen?
Dat is waar Aar, maar ik bedoelde het eerder als toevoeging.
Ik ga maar even wat noemen, dit is niet wat ik in mijn script doe. Maar bijvoorbeeld: Een speler kan dingen kopen op de website. Zijn totaalbedrag van all-time wordt opgeslagen in de Database. Vanaf 50 EURO ooit besteed op de website krijgt hij een speciale optie. Dit wordt gevalideerd door Ajax in het bestand checktotal.php ofzoiets. Als iemand anders dit bestand aanroept ziet ie zomaar dat Jantje voor 350 EURO aan geld heeft besteed ofzoiets. Dat is niet echt fijn om openbaar te maken...
Maar dit is slechts een voorbeeld, ik kan eigenlijk nog wel wat betere verzinnen:P
Gewijzigd op 05/08/2011 19:15:03 door Jordy nvt
Wel zou ik er voor zorgen dat je niet te veel ajax in je website gebruikt, dit kan je website heel erg langzaam maken.
Bedankt iig!
Nou ik neem aan dat een gebruiker eerst inlogt op je website en daarna pas die ajax scripts krijgt, als je in de source van het ajaxscript dan checkt op de sessie kun je kijken welke gebruiker het is en wat hij wel en niet mag of kan doen.
Ja, dat klopt.
Ok, en als iemand het script dan direct aanroept is er niemand ingelogt en bestaat er dus ook geen sessie... Maar hoe kan het dat sommige websites andere Ajax requests hebben. Bijvoorbeeld tribalwars.nl? Van hun Ajax code snap ik niks.
Jordy nvt op 05/08/2011 23:03:50:
Ok, en als iemand het script dan direct aanroept is er niemand ingelogt en bestaat er dus ook geen sessie... Maar hoe kan het dat sommige websites andere Ajax requests hebben. Bijvoorbeeld tribalwars.nl? Van hun Ajax code snap ik niks.
Die gebruiken het jQuery framework i.p.v. standaard Javascript met 'xmlHttpRequest', en hebben hun code geminified, zodat de enters en tabs eruit gehaald zijn ten bate van de snelheid.
Het ligt gewoon aan de implementatie en het gebruik van eventuele Frameworks. Zo zie ik op FokForum en Tweakers dat zij een functie gemaakt hebben waarin ze AJAX aanroepen doen, in de paramaters geven de extra informatie mee voor welk doeleinde de AJAX-call geldt en wat de inhoud is.
Gewijzigd op 05/08/2011 23:14:27 door - Ariën -
Ja, die had ik idd gezien, maar ingame (bv in het hoofdgebouw) staat een heel vaag script voor het uitbouwen van gebouwen en sorteren van de wachtlijst. Dat wordt ook live gedaan. Is dat allemaal met dat JQuery framework gedaan?
Als ze het jQuery framework inladen, dan kan je daar wel vanuit gaan.