编程

PHP 8.3 正式发布

756 2023-11-21 16:05:00

PHP 8.3 即将于近日发布。其中涉及多个新特性、变更及特性弃用:新特性-类常量显式类型、新增 json_validate 函数、动态类常量及枚举成员获取、gc_status() 返回额外的 GC 信息

详情...
编程

Laravel 11 正式发布

1210 2023-09-02 14:32:00

Laravel 11 于 2004 年 3 月 12 日正式发布!新特性及改进包括:精简目录结构、不再有 Http/Kernel、模型 casts 更新、新增 Dumpable Trait、配置更改...等等

详情...
编程

[Laravel 扩展包]Filterable 包:在 Eloquent 模型中使用动态过滤器

7 4小时前

Filterable 是 Jerome Thayananthajothy 开发的一个 Laravel 包,它通过可适配、可定制的过滤器和智能缓存增强 Laravel 查询,以提高性能和功能。这个包打主要特性包括:动态过滤:基于请求参数使用过滤器。缓存:通过缓存查询结构提升性能。用户指定过滤:轻松实现依赖于认证用户的过滤器。自定义过滤方法:可继承该类添加自己的...

详情...
编程

[Laravel 扩展包]Bartender —— 一种使用 Laravel Socialite 认证用户的方式

7 5小时前

Laravel 的 Bartender 包是一种使用 Laravel Socialite 对用户进行身份验证的方式。Bartender 为你提供控制器、路由和默认实现,用于处理 Laravel Socialite 提供者的身份验证。Bartender 中几乎所有的东西都可以定制。使用配置约定,你可以通过定义路由和配置应用将支持的 provider 来启用社交...

详情...
编程

在 PHP 中使用 Google Gemini AI

16 1天前

人工智能时代风靡一时。许多大玩家(OpenAI、Meta、微软)已经推出了自己的人工智能模型,可以生成图像、文本甚至代码。因此,谷歌最近也加入了这股潮流,推出了自己的人工智能模型Gemini,这是很自然的。 现在,作为一名PHP开发人员,我很好奇是否可以在PHP中使用这个模型。这就是我发现这个相对较新的PHP包erdemkose/generativ...

详情...
编程

高级设计 vs. 低级设计

20 1天前

1. 概述本文中,我们将探讨软件工程中的低级设计和高级设计。2. 什么是高级设计?建筑的鸟瞰图显示了其整体结构、住宅楼层、商业空间和便利设施,以及它们是如何无缝连接的。类似地,高级设计(HLD)就像软件系统的鸟瞰图。它定义了总体架构、主要组件以及它们之间的交互方式。我们可以把它看作是为我们的软件体系结构奠定基础的蓝图。因此,HLD 是设计过程的初始阶段的结果...

详情...
编程

Laragon:一款优秀的本地集成开发环境,PHP/Laravel 开发利器

61 4天前

什么是 Laragon?Laragon 是一个可移植、独立、快速、强大的通用开发环境,适用于 PHP、Node.js、Python、Java、Go 和 Ruby。它快速、轻便、易于使用且易于扩展。Laragon 非常适合构建和管理现代 web 应用程序。它专注于性能——围绕稳定性、简单性、灵活性和自由度进行设计。Laragon 非常轻,将尽可能保持苗条。核心...

详情...
编程

Cookie 安全标志

55 6天前

为什么需要保护 cookie?Web 浏览器使用 HTTP cookie 的最常见方式之一是用于用户身份验证和会话持久性。攻击者可以通过执行以下任何操作以恶意方式使用cookie:窃取包含会话 ID 或身份验证 cookie 等敏感信息的 cookie重复使用被盗的 cookie 以访问经过身份验证的区域和现有用户会话伪造 cookie 以访问经过身份验证的...

详情...
编程

使用 Same-Site Cookie 属性防止 CSRF 攻击

66 2024-04-21 18:03:00

本文详细介绍了 Same-Site cookie 属性的工作原理,以及如何使用它来帮助防止恶意跨站点请求伪造(CSRF)攻击。

详情...
编程

Laravel 底层原理 - CSRF

83 2024-04-20 06:43:00

TokenMismatchException 👋你可能至少遇到过一次这种情况。你复制粘贴了异常,在网上搜索了一下,发现在请求中添加 @csrf 之类的指令或在 header 中引入 X-CSRF-TOKEN 就是修复方法。我们都走过这条路。但你有没有想过,为什么 Laravel 一开始就抛出这个异常?你真的需要在每个请求中发送一个 t...

详情...