.js file buiten de public folder includen
Ik heb een vraag ik heb 2 directorys
private
public
in public wordt de totale site geladen
in private staan bestanden die niet toegankelijk zijn voor de public viewers.
Nu is mijn vraag hoe include ik een bestand in mijn index file
ik heb dit gedaan
maar hij pakt het niet
als ik de function.js gewoon in mijn public zet dan pakt die het wel maar dan laat mijn site niet goed omdat die dan de ajax.php die in de .js file staat niet kan laden
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$(document).ready(function(UpdateOnline) {
UpdateOnline('#online').load('../../ajax.php?a=online')
UpdateOnline.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never refresh
setInterval(function() {
UpdateOnline('#online').load('../../ajax.php?a=online');
}, 5000); // the "3000" here refers to the time to refresh the div. it is in milliseconds.
});
UpdateOnline('#online').load('../../ajax.php?a=online')
UpdateOnline.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never refresh
setInterval(function() {
UpdateOnline('#online').load('../../ajax.php?a=online');
}, 5000); // the "3000" here refers to the time to refresh the div. it is in milliseconds.
});
Hoe kan ik dit het beste oplossen.
Met vriendelijke groet,
Thomas de vries
Andere oplossing bedenken dus.
Kan sowieso al niet. / is je root, en dan wil je nog een stap lager...
/private/functions.js of ../private/functions.js al geprobeerd?
Edit: Inderdaad wat Erwin zegt, je maakt eigenlijk een private bestand public.
JS bestanden worden clientside uitgevoerd, dus moeten wel te benaderen zijn door de browser/gebruiker.
Gewijzigd op 25/04/2014 10:05:27 door Michael -
wat eigenlijk de bedoeling hiervan is is dat een persoon niet in de adress balk dit kan typen
www.site.com/ajax.php?donate etc
daarom wil ik die buiten de root om laten gaan dus in een private directory en vanuit daar gaan includen
@michael ja dat had ik ook al geprobeerd
Edit het gaat ook eigenlijk niet om de .js file maar meer om die ajax.php file die ik om veiligheids redenen buiten de root dir wil hebben
Gewijzigd op 25/04/2014 10:07:48 door thomas de vries
ajax.php?donate wordt uitgevoerd wanneer men een donatie doet, maar dit mag niet rechtstreeks?
Als je in de ajax.php controleert of de juiste variabele zijn geset is het niet zo'n probleem toch.
Thomas de vries op 25/04/2014 10:06:53:
@erwin
wat eigenlijk de bedoeling hiervan is is dat een persoon niet in de adress balk dit kan typen
www.site.com/ajax.php?donate etc
daarom wil ik die buiten de root om laten gaan dus in een private directory en vanuit daar gaan includen
wat eigenlijk de bedoeling hiervan is is dat een persoon niet in de adress balk dit kan typen
www.site.com/ajax.php?donate etc
daarom wil ik die buiten de root om laten gaan dus in een private directory en vanuit daar gaan includen
Onmogelijk. Als de browser er bij kan via een link, kan de gebruiker het ook direct. Het is namelijk gewoon een url.
Edit op basis van wat Michael zegt:
je kan wel bepalen in php of een request een ajax request is en op basis daarvan bepalen of jet het request wilt uitvoeren of niet. Dit biedt enigszins een beveiliging omdat je dan een request dat direct wordt ingetikt wel kan stoppen.
Gewijzigd op 25/04/2014 10:16:34 door Erwin H
public and private.
er moet toch een manier zijn om er voor te zorgen dat een gebruiker dus niet direct de ajax.php kan oproepen
maar dat dit alleen gedaan kan worden als het gaat om een include/cq ajax request?
Of zie ik dit nu helemaal verkeerd.
dit wat je zoekt?
Maar ook dat kun je vast wel omzeilen als ik een eigen ajax call op ajax.php uitvoer.*
Zoals ik al zei, zolang je controleert of er een post request is en de variabelen die je nodig hebt zoals de donatie gevuld zijn, dus een succesvolle donatie, dan is het toch geen probleem?
Wat voor misbruik verwacht je?
*Erwin, dat klinkt logisch, maar niet 100% waterdicht dus.
Misschien is Zoals ik al zei, zolang je controleert of er een post request is en de variabelen die je nodig hebt zoals de donatie gevuld zijn, dus een succesvolle donatie, dan is het toch geen probleem?
Wat voor misbruik verwacht je?
*Erwin, dat klinkt logisch, maar niet 100% waterdicht dus.
Gewijzigd op 25/04/2014 10:58:45 door Michael -
@michael
een eigen ajax call opzetten is niet zo makkelijk, omdat je dan eigenlijk al direct in een cross domain opstelling komt en de meeste ajax verbindingen staan dat niet toe.
Maar buiten AJAX om kan je het script wel handmatig aanroepen vanaf andere sites. Een oplossing is om met een sessie-controle te werken. Op de index-pagina van je site plaats je een sessie met een unieke string, en die moet ook dan bekend zijn bij het AJAX-script.