有没有办法通过身份验证脚本绑定“任何”重定向(链接/刷新/等)?

时间:2011-12-05 09:46:57

标签: php javascript html ajax apache

上下文:我正在整理一个社交网络,我希望能够通过在到达目的地之前将用户推送到另一个脚本来验证任何刷新或重定向。我想过使用'get'方法,但这需要我手动设置每个链接作为一个表单,或者某种ajax脚本,但是我不太熟悉ajax,知道这是否完全可能。

我是否可以实现某种类型的apache规则,将脚本应用于每个重定向/刷新?

平台:我正在使用php / mysql并且在ajax / js上并不太可怕

为什么:我希望能够验证用户的登录信息以及跟踪他们的网页访问次数。 (后者我肯定必须是ajax相关的)

欢迎任何想法

2 个答案:

答案 0 :(得分:1)

您可以使用Javascript(或jQuery)遍历页面上的所有链接,并添加指向处理函数的onClick属性。

<a href="www.example.com/somepage.html" onClick="tracker(this);">Go Here</a>

然后您可以定义自定义跟踪器功能

function tracker(link){
  // Pass data to some php page with AJAX
  // Return true for success (user will move to the selected page)
  // Return false to cancel the click (will do nothing)
}

要使用jQuery进行设置,它看起来像这样:

$('a').each(function(index) {
  var attr = $(this).attr('onClick');
  if (typeof attr === 'undefined' || attr === false){
    $(this).attr('onClick', 'tracker(this);');
  }else{
    // onClick already set
  }
});

您可以使用jQuery的本机事件函数来绑定onClick事件。

答案 1 :(得分:0)

在每个页面的顶部添加一个脚本,使用会话检查登录信息(我希望你知道我在说什么),如果它们不存在,它会将用户重定向到登录页面。在同一个脚本中,您还可以根据需要跟踪访问。