ThinkPhp6框架使用Session完成中间件防翻墙操作

在此之前要首先在控制器完成账号和密码的判断

提供资料:第一个链接为 Session 的方法,第二个为中间件的方法

https://www.kancloud.cn/manual/thinkphp6_0/1037635https://www.kancloud.cn/manual/thinkphp6_0/1037635https://www.kancloud.cn/manual/thinkphp6_0/1037635

https://www.kancloud.cn/manual/thinkphp6_0/1037493https://www.kancloud.cn/manual/thinkphp6_0/1037493https://www.kancloud.cn/manual/thinkphp6_0/1037493

第一步:

开启 Session

位置在 app 中的 middleware.php(解开注释即可)

第二步:

进入到控制层,进行赋值( 直接写到账号和密码判断成功的位置就可以了 )

                                    use 一下,找到位置

use think\facade\Session;

                                    进行取值赋值

Session::set('userName','thinkphp');

第三步:

使用命令行指令快速生成中间件:(位置 :   app/middleware ) 

php think make:middleware Check

第四步:

到建立成的中间件中进行判断是否有值

                                       use 一下找位置

use think\facade\Session;


public function handle($request, \Closure $next)
{
    //直接判断值是否为空
    if(empty(Session::has('userName')))
    {
        //如果值为空进行跳转到登录页面
        return redirect('/index.php/login');
    }
    //不为空继续执行
    return $next($request);
}

第五步:

到路由中进行判断,使用 middleware  进行判断(分组路由效果更好)

middleware(\app\middleware\Check::class)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP6 中使用 ElasticSearch 需要先安装 ElasticSearch 和 Elasticsearch for PHP,具体安装步骤请参考前面的回答。 安装完成后,我们可以在代码中使用 Elasticsearch for PHP 提供的 API 进行数据的增删改查操作。下面是一个简单的示例: ```php <?php namespace app\controller; use Elasticsearch\ClientBuilder; use think\facade\Db; class Index { public function search() { $client = ClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'match' => [ 'title' => 'ElasticSearch' ] ] ] ]; $response = $client->search($params); return json($response); } public function add() { $data = Db::table('my_table')->find(); $client = ClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => $data['id'], 'body' => [ 'title' => $data['title'], 'content' => $data['content'], ] ]; $response = $client->index($params); return json($response); } public function update() { $client = ClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id', 'body' => [ 'doc' => [ 'title' => 'new title', ] ] ]; $response = $client->update($params); return json($response); } public function delete() { $client = ClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; $response = $client->delete($params); return json($response); } } ``` 这里我们定义了四个方法,分别是 `search`、`add`、`update` 和 `delete`。 `search` 方法用于查询数据,我们在查询中使用了 `match` 查询,查询了 `title` 字段中包含 `ElasticSearch` 关键字的文档。 `add` 方法用于添加数据,我们使用了 `index` 方法,将 `my_table` 表中的数据添加到了名为 `my_index`,类型为 `my_type` 的文档中。 `update` 方法用于更新数据,我们使用了 `update` 方法,将 ID 为 `my_id` 的文档中的 `title` 字段更新为了 `new title`。 `delete` 方法用于删除数据,我们使用了 `delete` 方法,删除了 ID 为 `my_id` 的文档。 这只是一个简单的示例,实际使用中需要根据业务需求进行更详细的配置和操作

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值