【问题标题】:protect ajax jquery保护ajax jquery
【发布时间】:2012-05-05 22:30:00
【问题描述】:

如果我的数据库中已经存在电子邮件,我会使用它来检查我的注册页面:

$('#email').blur(function() {
  var email = $(this).val();
  $.post('ajax/get_request/check',{key:"email",value:email},function(data) {
    alert(data);
  });
});

它确实工作正常。但是,我注意到,如果我通过浏览器的 URL 地址栏http://example.com/ajax/get_request/check 访问 ajax 路径,则会显示为空白。如果value 为空,我尝试使用此脚本进行重定向。

//controller.php
public function check($key=NULL,$value=NULL)
{
  if(is_null($value)) redirect(base_url(),'refresh');
  // ... more scripts below ...
}

但这会影响我在注册时的 ajax 请求响应。我想在这里实现的是检测用户是否通过注册表访问ajax,而不是直接在URL浏览器上输入路径。

【问题讨论】:

  • www.google.co.uk/#hl=en&sclient=psy-ab&q=how+to+check+if+request+is+made+via+ajax+or+via+browser&oq=how +to+check+if+request+is+made+via+ajax+or+via+browser
  • HTTP_X_REQUESTED_WITH 在 CodeIgniter 中未定义。

标签: jquery ajax codeigniter


【解决方案1】:

你可以用这个

$this->input->is_ajax_request()

检查传入的请求是否是ajax请求。这在 codeigniter2 中可用

在您的控制器中,

if($this->input->is_ajax_request()){
    //do your stuffs
}else{
  die("Access Prohibited.");
}

【讨论】:

    猜你喜欢
    • 2011-05-04
    • 2017-10-21
    • 2013-06-22
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2011-02-11
    相关资源
    最近更新 更多