Ajax 使用restricted-country.tpl登录表单,并使用Prestashop 1.6进行地理定位

Ajax 使用restricted-country.tpl登录表单,并使用Prestashop 1.6进行地理定位,ajax,forms,login,geolocation,prestashop-1.6,Ajax,Forms,Login,Geolocation,Prestashop 1.6,我必须在restricted-country.tpl上建立一个登录表单才能访问我的网站 表单和ajax调用工作得很好,但是调用php脚本是不可能的,因为地理位置导致503错误 脚本位于“controllers/front/”中 有人知道如何授予对脚本的访问权限,或者知道我可以放置脚本并通过503访问脚本的区域吗? 或者换个说法 (登录表单使用ip地理定位非常重要) 以下是表格: form.submit(function(e) { $.ajax({ type: 'POST',

我必须在restricted-country.tpl上建立一个登录表单才能访问我的网站

表单和ajax调用工作得很好,但是调用php脚本是不可能的,因为地理位置导致503错误

脚本位于“controllers/front/”中

有人知道如何授予对脚本的访问权限,或者知道我可以放置脚本并通过503访问脚本的区域吗? 或者换个说法

(登录表单使用ip地理定位非常重要)

以下是表格:

form.submit(function(e) {
  $.ajax({
    type: 'POST',
    url: path_url+'/controllers/front/verif.php',
    data: form.serialize(),
    dataType: 'json',
    success: function(jsonData) {
      if (jsonData == 'OK'){
        console.log('Correct logins');
        location.reload();
      } else {
        console.log(jsonData);
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert("Status: " + textStatus);
      alert("Error: " + errorThrown);
    }
  });
e.preventDefault();
});
if (Tools::getIsset('password') || Tools::getIsset('login') || Tools::getIsset('IP') || Tools::getIsset('shop')) {

    $password = Tools::getValue('password');
        $login = Tools::getValue('login');
        $allowedUsers = EverCommission::getAllAgentLogin();
        foreach ($allowedUsers as $user => $mail) {
          $users[$user] = $mail['email'];
        }
            if ($password == Configuration::get('EVERCOM_COM_PASS') && in_array($login, $users)) {

                //Separator
                $separator = "\n";
                $idShop = Tools::getValue('shop');

                //Geolocalisation whitelist
                $whitelist = Configuration::get('PS_GEOLOCATION_WHITELIST');
                $WhiteListIp = Tools::getValue('IP');
                $New_WhiteList = $whitelist . $separator . $WhiteListIp;

                //Temp whitelist
                $Old_Temp_WhiteList = Configuration::get('PS_TEMP_WHITELIST');
                $New_Temp_WhiteList = $Old_Temp_WhiteList . $separator . $WhiteListIp;

                //Updating values
                Configuration::updateValue('PS_TEMP_WHITELIST', $New_Temp_WhiteList);
                Configuration::updateValue('PS_GEOLOCATION_WHITELIST', $New_WhiteList, false, null, $idShop);
                Configuration::updateValue('PS_GEOLOCATION_WHITELIST', $New_WhiteList, false, null, 'NULL');
                $return = 'OK';
            } else {
                $return = 'Wrong';
            }
        echo Tools::jsonEncode($return);
} else {
        $return = 'ID or Password not set using Ajax';
        echo Tools::jsonEncode($return);
}
以下是脚本:

form.submit(function(e) {
  $.ajax({
    type: 'POST',
    url: path_url+'/controllers/front/verif.php',
    data: form.serialize(),
    dataType: 'json',
    success: function(jsonData) {
      if (jsonData == 'OK'){
        console.log('Correct logins');
        location.reload();
      } else {
        console.log(jsonData);
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert("Status: " + textStatus);
      alert("Error: " + errorThrown);
    }
  });
e.preventDefault();
});
if (Tools::getIsset('password') || Tools::getIsset('login') || Tools::getIsset('IP') || Tools::getIsset('shop')) {

    $password = Tools::getValue('password');
        $login = Tools::getValue('login');
        $allowedUsers = EverCommission::getAllAgentLogin();
        foreach ($allowedUsers as $user => $mail) {
          $users[$user] = $mail['email'];
        }
            if ($password == Configuration::get('EVERCOM_COM_PASS') && in_array($login, $users)) {

                //Separator
                $separator = "\n";
                $idShop = Tools::getValue('shop');

                //Geolocalisation whitelist
                $whitelist = Configuration::get('PS_GEOLOCATION_WHITELIST');
                $WhiteListIp = Tools::getValue('IP');
                $New_WhiteList = $whitelist . $separator . $WhiteListIp;

                //Temp whitelist
                $Old_Temp_WhiteList = Configuration::get('PS_TEMP_WHITELIST');
                $New_Temp_WhiteList = $Old_Temp_WhiteList . $separator . $WhiteListIp;

                //Updating values
                Configuration::updateValue('PS_TEMP_WHITELIST', $New_Temp_WhiteList);
                Configuration::updateValue('PS_GEOLOCATION_WHITELIST', $New_WhiteList, false, null, $idShop);
                Configuration::updateValue('PS_GEOLOCATION_WHITELIST', $New_WhiteList, false, null, 'NULL');
                $return = 'OK';
            } else {
                $return = 'Wrong';
            }
        echo Tools::jsonEncode($return);
} else {
        $return = 'ID or Password not set using Ajax';
        echo Tools::jsonEncode($return);
}

多谢各位

由于ajax调用返回
错误:临时过载
,因此您的配置可能存在
内存限制
问题

  • 打开你的店铺后台
  • 转到
    高级参数
    信息
  • 检查内存限制是否超过或等于128M

  • 如果
    内存限制
    较低。您应该编辑
    php.ini
    文件。

    由于ajax调用返回
    错误:临时过载
    ,您的配置可能有
    内存限制问题

  • 打开你的店铺后台
  • 转到
    高级参数
    信息
  • 检查内存限制是否超过或等于128M

  • 如果
    内存限制
    较低。你应该编辑你的
    php.ini
    文件。

    你能检查你的错误日志文件并在这里发布任何相关错误吗?Ajax发布这些错误:-状态:错误-错误:暂时超载OK你能检查apache错误日志吗?这里是我发现的:“post/prestashop//controllers/front/verif.php HTTP/1.1”503 2873这是access.log文件而不是error.log中的日志。您可以检查错误日志文件并在此处发布任何相关错误吗?Ajax发布这些错误:-状态:错误-错误:暂时超载OK您可以检查apache错误日志吗?以下是我发现的:“post/prestashop//controllers/front/verif.php HTTP/1.1”503 2873这是access.log文件not error.log中的日志。
    内存限制等于128M。请尝试在每行回显一些文本
    echo('test1')。。。echo('test2')以查看脚本在崩溃前运行了多远。或者在不同的行中放置一个'die('test')以查看崩溃的位置。感谢您的帮助@Florian,脚本不会崩溃。对不起,我的英语不好,我可能解释错了。我激活了地理定位以限制对该网站的访问。(当地理位置处于非活动状态时,该脚本工作正常)因此,从模板“restricted country.tpl”,我必须调用php脚本,但地理位置逻辑不允许访问它。我正在寻找一种方式或一个区域,称之为通过地理位置限制。对不起,我的英语又不好了。
    内存限制等于128M。请尝试在每行回显一些文本
    echo('test1')。。。echo('test2')以查看脚本在崩溃前运行了多远。或者在不同的行中放置一个'die('test')以查看崩溃的位置。感谢您的帮助@Florian,脚本不会崩溃。对不起,我的英语不好,我可能解释错了。我激活了地理定位以限制对该网站的访问。(当地理位置处于非活动状态时,该脚本工作正常)因此,从模板“restricted country.tpl”,我必须调用php脚本,但地理位置逻辑不允许访问它。我正在寻找一种方式或一个区域,称之为通过地理位置限制。对不起,我的英语又不好了。