Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter-如何通过输入随机ID或代码防止用户访问数据_Php_Codeigniter - Fatal编程技术网

Php Codeigniter-如何通过输入随机ID或代码防止用户访问数据

Php Codeigniter-如何通过输入随机ID或代码防止用户访问数据,php,codeigniter,Php,Codeigniter,我对查看数据有一个问题。我正在做一些房地产项目,其中有一个代码页(输入房屋状态代码)和一个状态页(显示房屋详细信息)。现在,我可以阻止用户在输入错误代码时重定向到状态页面,直到他们输入正确的代码。如果用户试图在状态页面的URL中输入一些随机代码,那么如果代码错误,页面将显示错误。我怎样才能避免这种情况?在这种情况下,如何将用户重定向回代码页 更新: 我在我的查看页面上使用了以下条件: <body id="status-page"> <?php if($listing[

我对查看数据有一个问题。我正在做一些房地产项目,其中有一个代码页(输入房屋状态代码)和一个状态页(显示房屋详细信息)。现在,我可以阻止用户在输入错误代码时重定向到状态页面,直到他们输入正确的代码。如果用户试图在状态页面的URL中输入一些随机代码,那么如果代码错误,页面将显示错误。我怎样才能避免这种情况?在这种情况下,如何将用户重定向回代码页

更新: 我在我的查看页面上使用了以下条件:

<body id="status-page">
<?php
     if($listing[0]['code'] != $listing_code){
        die();
     }else{ ?>
        <!-- Content -->
        <div class="page-loader-wrapper">
         ....
        </div>
<?php } ?>
型号:

function get_listing($listing_code){
    $this->db->select('*');
    $this->db->from($this->listings_table);
    $this->db->where('code',$listing_code);
    $query = $this->db->get();
    $result = $query->result_array();
    return $result;         
}

一切正常,只是当我将url代码更改为一个错误的url代码,而不是终止页面时,它会显示错误…

您有不同的选项 1)生成一个难以猜测的代码,您可以使用如下方法

$code =  substr(md5(rand(16, time())), 0, 16);
如果用户输入错误的代码,它会替换错误 使用if命令终止页面的其余部分
if(检查代码是否存在的条件){die();}


2) 或者创建一个登录名并创建一个表,列出可以使用代码的人员

在哪里使用条件?在控制器或视图中?你能准确地告诉我条件吗,我不知道现有代码的变量是$code,用户输入的代码是$inputyou write
if($code!=input){die();}否则{//无论需要发生什么}
我知道了,但是我把条件放在哪里?查看原因这就是你想向用户展示的,对吗?虽然我没有使用codeigniter的经验
$code =  substr(md5(rand(16, time())), 0, 16);