codeigniter“不允许直接脚本访问”

ccrfmcuu  于 2022-12-07  发布在  其他
关注(0)|答案(5)|浏览(185)

即使我添加了“if(!defined('BASEPATH'))exit('不允许直接脚本访问');实际上我需要在div中显示数据我 AJAX 调用:下面是 AJAX 调用,它调用Createcaptcha来获取数据,但它没有响应数据而是响应“不允许直接脚本访问”

$(document).ready(function(){
        $.ajax({
            type: "POST",
            url: 'website/Createcaptcha',
            success: function(data){
                $("#captcha").html(data); 
            }
        });

    });

下面是控制器

public function Createcaptcha(){               
        $image = $this->captcha_model->create_image();
  echo $image;

    }

响应数据在div中显示为“不允许直接脚本访问”,它在xampp localhost上工作正常

vzgqcmou

vzgqcmou1#

检查你的BASEPATH是否设置在codeigniter中。它设置在根文件夹的index.php中。只需回显BASEPATH,看看它打印了什么。
在index.php中找到以下内容

define('BASEPATH', str_replace("\\", "/", $system_path));
esbemjvw

esbemjvw2#

我用<?php替换了<?,由于服务器中的php设置,一切都工作正常。

t5fffqht

t5fffqht3#

请使用

<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

database.php文件中。

ibps3vxo

ibps3vxo4#

我也有一个类似的问题,对于那些可能会为这个问题寻找答案的人,我的十分钱。
在基本路径中,网站名称设置为htts:www.websitename.com,客户端打开时不使用https(http://www.websitename.com),在某些情况下也不使用www(https://websitename.comhttp://websitename.com)。
因为它们中的任何一个都不匹配定义的basepath,所以该请求不会被视为 AJAX 请求。解决方案:确保您有正确的重定向(http到https,非www到www)。
https & www redirecting answer link

bsxbgnwa

bsxbgnwa5#

在我的情况下,项目路径(基本URL)是错误的。

相关问题