Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 阻止仅用于通过AJAX进行动态内容检索的网页。(.htaccess?)_Php_Jquery_Ajax_.htaccess - Fatal编程技术网

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

Php 阻止仅用于通过AJAX进行动态内容检索的网页。(.htaccess?),php,jquery,ajax,.htaccess,Php,Jquery,Ajax,.htaccess,我想知道是否有可能使用.htaccess或其他工具使页面不可见 一些背景信息和一些其他问题: 我正在构建一个web应用程序,它可以进行大量的动态内容加载。目前,我正在对一个ajax.php文件进行ajax调用,并给出了一个名为action的POST参数。根据这个动作,我调用一个类的方法,这个类然后调用echo的JSON或HTML 但我开始明白了,我有一些函数返回了几乎完整的html页面(介于SQL和php之间),看起来有点脏。为该内容构建单独的.php页面,然后仅从该页面加载内容是更好的选择吗?

我想知道是否有可能使用.htaccess或其他工具使页面不可见

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

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

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

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

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

{成功:确定;内容:完整内容}

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

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


提前谢谢。我从这个网站上得到了很多答案,这是我第一次问自己。看来你有两个问题:访问控制和组织

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

由于这种锁定非常复杂,因此转储AJAX并呈现完整的页面可能是合乎逻辑的

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

将代码重写到PHP文件中只进行逻辑和数据查询的位置。其次,使用Smarty库输出页面中的所有HTML


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

你是在试图阻止用户窥探和访问他们本不应该拥有的信息,还是在试图阻止机器人抓取你的网站?如果我将php页面分开,它们就不会有标题或漂亮的布局。所以我只是不想让人们看到他们。但我也有兴趣知道如何阻止机器人。我看到了一些关于robots.txt的东西?明白了。看起来你在处理一个组织问题。让我看看是否可以在下面写一个更长的回复。我减少了我的AJAX,并且几乎总是呈现完整的页面。我也用htaccess保护了我的“管理员部分”,我认为这是保护我的管理员内容的一种不好的方法,还是只要保存密码就可以了?而且smarty很酷,谢谢;)接受你的回答