laravel

laravel11 部署 Reverb - laravel 第一方可扩展的 WebSocket 服务器

Backend

Laravel 11 发布了,一并推出了第一方可扩展的 WebSocket 服务器:Laravel Reverb,为你的应用提供强大的实时功能。 Reverb 只支持Laravel 10和Laravel 11,下面以Laravel 11为例 安装 php artisan install:broadcasting env 配置 REVERB_APP_ID=991168 REVERB_APP_KEY=cwnysrqcajxago4kbhw3 REVERB_APP_SECRET=q8kagq5unvvneork62yl REVERB_HOST="laravel.cw.net" REVERB_POR...

laravel 集成 vue3 的前端项目

Backend

现在大多项目都是前后端分离的,但是如果前后端都是一个人做,前后端来回切也挺不方便的。 好在 laravel 给我们提供了 Vite,下面我以一个纯前端的项目企业展示型小程序 - 管理员端 为例,介绍一下如何把 vue3 项目集成到 laravel 准备 创建一个laravel的项目 composer create-project laravel/laravel=10.* --prefer-dist laravel-demo 大概步骤 cd laravel-demo composer install cp .env.example .env php artisan key:generate n...

Laravel CSRF 保护

Backend

跨站点请求伪造(英语:Cross-site request forgery)是一种恶意利用,利用这种手段,代表经过身份验证的用户执行未经授权的命令。值得庆幸的是,Laravel 可以轻松保护您的应用程序免受跨站点请求伪造(CSRF)攻击。 漏洞的解释 如果您不熟悉跨站点请求伪造,我们讨论一个利用此漏洞的示例。假设您的应用程序有一个 /user/email 路由,它接受 POST 请求来更改经过身份验证用户的电子邮件地址。最有可能的情况是,此路由希望 email 输入字段包含用户希望开始使用的电子邮件地址。 没有 CSRF 保护,恶意网站可能会创建一个 HTML 表单,指向您的应用程序 /use...

laravel 自定义中间件实现身份验证

Backend

通过Laravel 用户认证我们知道了基于 api 的身份验证,实现方式有Laravel Sanctum API 授权 、 Laravel 使用 Json Web Token(JWT) 等,今天介绍一下自定义中间件实现身份验证 中间件 使用中间件需要提前在app/Http/Kernel.php这里配置,分为全局中间件、中间件、中间件组 全局中间件 全局中间件无需主动调用,系统会自动应用到每次请求。比如:TrimStrings中间件会自动去掉请求参数左右两边的空格;ConvertEmptyStringsToNull中间件会自动把请求参数中的空字符串转为 null。 ConvertEmptyStr...

laravel 以服务提供者的方式使用 elasticsearch

Backend

安装 安装elasticsearch官方扩展包 composer require elasticsearch/elasticsearch 以服务提供者的方式使用 elasticsearch 可以参考这篇文章:Laravel 以服务提供者的方式使用第三方扩展包 下面给出关键配置 config/es.php <?php declare(strict_types=1); return [ 'hosts' => explode(',', env('ELASTIC_HOSTS')),//['http://elasticsearch:9200'] 'username' => env(...

Laravel 使用 Json Web Token(JWT)

Backend

关于 JWT 之前写过 php - Json Web Token(JWT)的使用 go - gin 使用 Json Web Token(JWT) 今天总结下 Laravel 中 JWT 的使用 安装 composer require tymon/jwt-auth #发布配置 php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" #生成密钥,这将更新您的.env文件,例如JWT_SECRET=foobar php artisan jwt:secret 快速开始 更新你的...

Laravel Sanctum API 授权

Backend

Laravel Sanctum 为 SPA(单页应用程序)、移动应用程序和基于令牌的、简单的 API 提供轻量级身份验证系统。Sanctum 允许应用程序的每个用户为他们的帐户生成多个 API 令牌。这些令牌可以被授予指定允许令牌执行哪些操作的能力 / 范围。 简单来说,前后端分离的项目,使用 token 验证登陆状态,可以选它;另外,同类型的还有 jwt 比较火 安装 Laravel 9 已经包含了 Laravel Sanctum,所以下面的步骤看看就行了 composer require laravel/sanctum php artisan vendor:publish --prov...

Laravel 表单验证失败跳首页的解决办法

Backend

首先,官方不觉得这是一个问题 如果在传统 HTTP 请求期间验证失败,则会生成对先前 URL 的重定向响应。如果传入的请求是 XHR,将将返回包含验证错误信息的 JSON 响应。 https://learnku.com/docs/laravel/9.x/validation/12219#quick-writing-the-validation-logic 问题复现 cuiwei@weideMacBook-Pro ~ % curl -X POST 'http://laravel.cw.net/api/login' \ --header 'Content-Type: application/js...

laravel 代码提示 - laravel-ide-helper

Backend

在开发过程中,可能会遇到有些代码不能跳转,如下图 laravel-ide-helper 可以解决这个问题。 使用 composer require --dev barryvdh/laravel-ide-helper #低版本Laravel 5.5 composer require --dev barryvdh/laravel-ide-helper v2.4.1 php artisan ide-helper:generate php artisan ide-helper:meta #模型注释 composer require --dev doctrine/dbal php artisan ...

Laravel 用户认证

Backend

应用的身份认证一般包含两种:web 浏览器认证和API 认证 基于 web 浏览器的身份验证:常见于前后端混合开发的项目,php混合html模版;使用session+cookie完成身份验证。现在很少见了 基于 api 的身份验证:常见于前后端分离的项目,一套api同时给前端,Android,iOS提供服务;使用token完成身份验证。也是当下最流行的开发模式 在其核心,Laravel 的用户认证是由「看守器」和「提供器」。看守器定义如何对每个请求的用户进行身份验证。例如,Laravel 附带了一个 session 守护程序,它使用 session 存储和 cookie 来维护状态。 提...