确定用户是键入地址还是单击了href

时间:2013-10-23 10:30:39

标签: php html ajax href

好的,我有一个基本的网站,页面上的链接,关于,联系和服务通过about.php,contact.php和services.php中的ajax内容加载到我页面上的主div中。一切顺利。

我编码的方式是当有人点击时,比方说#about我有以下代码:

  $.address.change(function(event) {  
      $('#main').load('../' + event.value + '.php');  
  });  
  $('a').click(function() {  
      $.address.value($(this).attr('href'));  
  });

在about.php中我有:

<?php
    // render form
    require("../templates/about_form.php");
?>

一切运作良好,但是让我们说一个狡猾的用户在domain.com/about.php中输入然后他们只是提供了about_form.php的内容而没有我的页面的其余部分。

我可以确定用户是否执行此操作,如果是,则将页面重定向到domain.com#about ...

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

使用

包装现有页面
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    /*page code goes here*/

}else
{
 header('Location: http://www.domain.com/#yoursection');
}

这样做是检查请求是否是ajax请求,如果没有将用户重定向到正确的页面。