使用jQuery限制对网页的访问

使用jQuery限制对网页的访问,jquery,webpage,Jquery,Webpage,是否有办法限制对特定网页的访问,例如使用jQuery? 我知道还有很多其他可行的方法可以通过PHP和.htaccess实现这一点,但在我们的例子中,我们无法访问.htaccess文件。但是,jQuery已安装 我想尝试读取window.location.href并在URL中添加一个哈希。但我不确定如果用户查看相关页面的源代码,是否会暴露这些信息。简短回答:不,你不能 稍长一点的回答:所有javascript都会发送给用户,以便查看。您不能对他们隐藏任何源代码。使用PHP/htaccess,您的所

是否有办法限制对特定网页的访问,例如使用jQuery? 我知道还有很多其他可行的方法可以通过PHP和
.htaccess
实现这一点,但在我们的例子中,我们无法访问
.htaccess
文件。但是,jQuery已安装


我想尝试读取
window.location.href
并在URL中添加一个哈希。但我不确定如果用户查看相关页面的源代码,是否会暴露这些信息。

简短回答:不,你不能


稍长一点的回答:所有javascript都会发送给用户,以便查看。您不能对他们隐藏任何源代码。使用PHP/htaccess,您的所有源代码都是隐藏的,因此它们无法告诉您如何处理数据。

简短回答:不,您不能


稍长一点的回答:所有javascript都会发送给用户,以便查看。您不能对他们隐藏任何源代码。使用PHP/htaccess,您的所有源代码都是隐藏的,因此他们无法告诉您如何处理数据。

在客户端限制访问是有风险的,可能有很多方法可以绕过它。您可能没有.htaccess的访问权限,但您不能使用php吗

此想法无担保:

您需要使用javascript加载页面的某些部分,否则您将无法通过ajax显示这些部分。如果您不这样做,那么如果禁用javascript,您希望阻止用户查看的页面部分很容易被看到。当然,您可以根据页面需要的任何数据有条件地进行ajax加载,以表明用户是真实的,但这很容易被欺骗。在这一点上,您无论如何都必须与服务器对话,那么为什么不限制对服务器的访问呢


如果您只担心让哑巴(即非开发人员)用户退出,上述方法可能会奏效。

在客户端限制访问是有风险的,可能有很多方法可以避免。您可能没有.htaccess的访问权限,但您不能使用php吗

此想法无担保:

您需要使用javascript加载页面的某些部分,否则您将无法通过ajax显示这些部分。如果您不这样做,那么如果禁用javascript,您希望阻止用户查看的页面部分很容易被看到。当然,您可以根据页面需要的任何数据有条件地进行ajax加载,以表明用户是真实的,但这很容易被欺骗。在这一点上,您无论如何都必须与服务器对话,那么为什么不限制对服务器的访问呢


如果你只是担心让哑巴(即非开发人员)用户退出,上述方法可能会奏效。

因为很多人已经在说不。我还是用PHP发布这个答案为好

如果这些文件仅用于包含,则可以在包含文件中使用
define()
。然后,您包含的文件将检查定义的常量,如果未找到,则立即退出。通过这种方式,您可以确保代码的其余部分将仅在include中进行解释


如果我们只是讨论用户访问级别(也就是说,这些文件可以通过HTTP调用,但限制在用户内部,然后您必须使用
会话
,并为用户设置适当的访问级别,每个页面都将检查该级别,并相应地执行操作

,因为很多人已经拒绝了。我还可以使用PHP发布此答案

如果这些文件仅用于包含,则您可以在包含文件中使用
define()
。然后,您包含的文件将检查定义的常量,如果未找到,则立即退出。这样,您可以确保代码的其余部分将仅在包含文件中进行解释

如果我们只是讨论用户访问级别(即,这些文件可以通过HTTP调用,但限制在用户内部),那么您必须使用
会话
,并为用户设置适当的访问级别,每个页面都将检查该访问级别,并相应地在JavaScript中执行此操作(使用您提到的jQuery),您可以随时检查
密码输入的值,并将其与预定义密码进行比较

免责声明我永远不会推荐这一点。我甚至只是发布了一个答案,因为你明确表示,用户是否能看到来源并不重要

话虽如此,假设一些HTML如下:

<input type="password" id="pass"> 
<input type="button" id="b" value="Login">
<span id="err"></span>
查看它的实际操作(还要注意查看密码是多么容易!)。

要在JavaScript中执行此操作(使用您提到的jQuery),您只需在需要时检查
密码输入的值,并将其与预定义密码进行比较

免责声明我永远不会推荐这一点。我甚至只是发布了一个答案,因为你明确表示,用户是否能看到来源并不重要

话虽如此,假设一些HTML如下:

<input type="password" id="pass"> 
<input type="button" id="b" value="Login">
<span id="err"></span>
查看它的实际操作(还要注意查看密码是多么容易!)。

我的评论:

您可以使用Ajax加载部分页面,但可以将其加密存储在服务器上

在客户端,让用户输入密码并使用JavaScript实现您用来解密接收数据的加密算法。只需确保您使用经过良好测试的实现,而不是自己创建一个

这也可能不是完全安全的,但有两个优点:

  • 源代码中不包含密码(普通或模糊)
  • 直接访问通过Ajax加载的部件不会泄露任何信息(它们是加密的)
缺点是:

  • 需要进行一些预处理,以加密页面(部分)(可以自动化,请参阅@Joe Cheng对您的问题的评论)
  • 客户端必须执行解密(这可能会影响per