gpt4 book ai didi

php - CakePHP:是否可以从 Controller 访问 protected 功能?

转载 作者:行者123 更新时间:2023-12-04 05:12:06 25 4
gpt4 key购买 nike

我在 Controller 中写了两个 Action some_controller允许一个人下载文件。程序是这样的:

  • 用户转至 some_controller/export_data并单击表单以生成文本文件。
  • 行动export_data()然后为用户写一个文本文件。
  • 一旦检测到文件已生成,则会出现另一个按钮供用户单击以通过媒体 View 下载文件。这个 Action 是some_controller/download_file .

  • 我的问题是,我该如何制作 some_controller/download_file用户无法手动访问?即我想阻止用户在浏览器中输入这个 URL 并下载文件。我试过设置 protected function _download_file() ,但这会使 View 无法访问 some_controller 中的操作.

    我觉得我以错误的方式接近这个。有人想给我一些方向吗?

    最佳答案

    当用户点击 generate a text file按钮:

  • some_controller/export_data操作设置 session 变量
  • some_controller/download_file操作首先检查该 session 变量。
  • 如果设置,则允许用户下载文件并销毁 session 。
  • 如果不是,那么现在允许他下载文件。

  • 这样就可以赋值 some_controller/download_file public访问。

    如果用户直接访问 some_controller/download_file action ,那么 session 变量将不存在,他无法下载文件。

    关于php - CakePHP:是否可以从 Controller 访问 protected 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14783785/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com