阻止仅用于通过AJAX进行动态内容检索的网页.(.htaccess?)


Block webpages which are only used for dynamic content retrieval through AJAX. (.htaccess?)

我想知道是否有可能使用.htaccess或其他方法让页面对用户不可见。

一些背景信息和一些其他问题:

我正在构建一个web应用程序,它可以进行大量的动态内容加载。目前,我正在对一个ajax.php文件进行ajax调用,并给出了一个名为action的POST参数。根据这个操作,我调用了一个类的方法,然后这个类会回显JSON或HTML。

但我开始意识到,我有一些函数返回了几乎一个完整的html页面(介于两者之间的SQL和php),这看起来有点脏。为该内容构建单独的.php页面,然后仅从该页面加载内容,这是一个更好的选择吗?(我使用Jquery,所以这将是作为回调的.load函数)

我看到这种方法的问题是,人们可以找到那些.php页面并访问它们,然后看到不相关的、没有布局的信息。所以我想屏蔽这些页面。如何使用.htaccess执行此操作?

现在,如果你认为我做的事情完全错了,就告诉我吧。我执行过程中的一个基本情况:在搜索表单中填写客户端编号->按enter键->使用post-parameters操作的ajax调用:getclientinfo,id:字段中的值->ajax.php获得正确的类和方法->.class.php执行他的方法并检查输入是否正确,如果是,它会用数据库中的内容构建一个页面->所有这些都以JSON形式返回,类似于:

{成功:OK;内容:完整内容}

->然后使用jquery检查success布尔值,然后将完整的内容加载到当前页面中。

这是一个好方法,还是我做的事情不好?我觉得自己不太满意的是ajax.php页面。通常做什么?

提前谢谢。我从这个网站上得到了很多答案,这是我第一次自己问。

似乎有两个问题:访问控制和组织。

最好通过编程方式(在PHP中,使用会话数据)锁定对具有基本身份验证级别的页面的访问。否则,访问控制的最基本形式是使用apache的.htaccess文件进行限制,但是,查询字符串/post的规则可能会令人困惑。请参阅以下示例:是否可以重定向帖子数据?

由于这种锁定很复杂,所以转储AJAX并呈现完整的页面可能是合乎逻辑的。

无论哪种方式,您似乎在概念上说明的是内容和逻辑分离的需要。这很好。然而,现在是时候将您的开发过程提升到一个新的水平了。

将代码重写到PHP文件中只进行逻辑和数据查询的位置。其次,使用Smarty库输出页面中的所有HTMLhttp://www.smarty.net/docs/en/

Smarty模板系统具有很强的可扩展性。它具有继承功能,因此您可以生成页面变体、模板包含,以及以其他方式围绕HTML运行。一些聪明的语句可以让你的生活变得更轻松。