php路由的安全性,Codeigniter URI路由和安全性 - php

在codeigniter或restful结构中,页面可以通过URI路由到

例如,如果我想查看id:1的项目列表,那么我只需要创建一个类似这样的路径:

domain.com/item/view/1

并在控制器中

function view() {

$id = $this->uri->segment(3);

//database get data and return view...

}

这应该是实现静态结构的标准方法。但是,在会员系统中,并且商品ID取决于用户时,如何保护链接?

这样,其他用户就无法通过蛮力尝试使用其他ID并读取其他成员项目。

一种方法是只比较每个函数中的user_id和item_id。但是,如果系统很大,则意味着我需要在每个函数中进行比较,这需要大量的编码和检查。

有没有更聪明的方法来减少开销/编码?

谢谢

参考方案

在domain.com/item/view/1中,始终代表base_url/controller/Method

因此,如果创建控制器(item),则创建函数(view)。

class Item extends CI_Controller

{

public function __construct()

{

parent::__construct();

}

public function view($id)

{

//so in $id it will assign the 3rd value to it.

$new_id = $id;

echo $new_id;

}

CodeIgniter ODBC问题 - php

好吧,我已经构建了一个用于MSSQL的应用程序,最初以这种方式运行它,我购买了一台新计算机,出于某种奇怪的原因,它不允许我通过MSSQL连接。因此,我设置了ODBC。它连接良好,但似乎讨厌活动记录。我将不得不重写所有查询吗?还是我想念的东西。我收到这样的错误。A Database Error Occurred Error Number: 37000 [Mic…在Codeigniter中以数组形式获取查询结果 - php

我有一个查询,如何获取结果作为数组? php大神给出的解决方案 像这样:$rs = $this->db->query(...); $array = $rs->result_array(); https://www.codeigniter.com/user_guide/database/results.html有没有一种方法可以使ajax请求始终按顺序进行? - php

我目前正在做的是使用jQuery在每个按键上执行ajax请求。因此,如果我的用户键入d-o-n-k-e-y,它将为每个字母发送一个请求。但是,由于它们采用不同的路径到达网络上的服务器,因此如果输入d-o-n-k-e-y的速度太快,它们就不会总是按顺序到达。他们可能会以D-n-o-k-y-e的身份到达,并做出相应的反应。有没有一种好的方法来确保所有请求都按顺序…CodeIgniter:“无法重新声明类” - php

诚然,我的OOPHP有点不稳定,但是我看不出这是怎么回事。在我的一个控制器中,我包括一个utils工作表,该表与该控制器一样,扩展了基本的CI_Controller类。这将引发致命错误:Fatal error: Cannot redeclare class Utils in {file path}\utils.php on line 88 控制器:class…Codeigniter |将Base64图像保存到文件 - php

我创建了一个自定义产品配置器,该配置器将canvas元素另存为base64编码的图像。当我在浏览器中将图像作为图像src回显时,它可以正常工作。所以像这样的作品:$base64Image = $_POST['dataUrl']; echo 'div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值