2010-10-27 4 views
0

Possible en double:
Deny ajax file access using htaccessbloquer l'accès au répertoire AJAX avec .htaccess

J'ai un répertoire "AJAX" qui a tout mon bien le contenu AJAX est non formaté et laid si vous frapper les pages directement. Comment empêcher quelqu'un de frapper http://www.site.com/AJAX/page1.php avec le fichier .htaccess?

+0

avez-vous essayé .. recherche? http://tinyurl.com/39d2ucw – drudge

+0

Oui, j'ai essayé .. recherche, et a trouvé ce qui suit Refuser de tous qui ne permet pas les fichiers sont servis. Man, c'est beaucoup d'effort pour être sarcastique. J'ai besoin d'un moyen qui empêchera les gens de naviguer dans les fichiers mais qui les laisse quand même être servis. Juste comme ma question posée. –

+0

Bon travail, dommage que la question ait 2 ans .... continuez votre bon travail Ehsan! –

Répondre

0

Vous ne voulez pas vraiment utiliser .htaccess pour bloquer l'accès au contenu, car vous devez toujours pouvoir accéder à ce contenu à partir de votre application.

Si vous estimez qu'il est si important de garder les gens de charger directement ce contenu, vous pouvez acheminer tout le trafic à travers une seule page php comme:

http://www.site.com/ajax.php?content=page1 

puis à ajax.php vous pouvez restreindre l'accès à ce contenu à seulement HTTP post et éventuellement par d'autres moyens, comme des jetons uniques. Comme dans la page de référence créer un jeton unique 123, puis utilisez l'URL:

http://www.site.com/ajax.php?content=page1&token=123

et servir uniquement le fichier si le jeton est encore dans la mémoire cache.

Bien que cela fonctionne, je ne vois pas le point. Si quelqu'un veut charger cette page, qui s'en soucie? Vous ne pouvez pas les empêcher d'accéder au contenu car vous en avez besoin pour exécuter votre application - ils peuvent toujours l'obtenir à partir du cache du navigateur ou en utilisant un proxy http local.

+0

Honnêtement, je m'en fous. mon patron fait. Les pages vues directement ne sont pas stylées et "disgracieuses" elles obtiennent le CSS quand elles sont amenées à la page principale via jqeury .load. Je sais que je pourrais les styler mais il le veut de cette façon. J'ai essayé de leur passer un var, et je peux l'obtenir pour aller à un 403 quand il est touché directement mais cela ne les laisse pas non plus charger dans la page principale en utilisant ceci sur la page principale et ceci sur les pages individuelles Y at-il quelque chose qui ne va pas? –

Questions connexes