编程

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

582 2024-04-29 00:21:00

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

详情...
编程

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

521 2024-04-28 23:47:00

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

详情...
编程

在 PHP 中使用 Google Gemini AI

583 2024-04-27 21:42:00

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

详情...
编程

高级设计 vs. 低级设计

886 2024-04-27 17:26:00

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

详情...
编程

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

1075 2024-04-25 01:25:00

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

详情...
编程

Cookie 安全标志

662 2024-04-22 18:10:00

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

详情...
编程

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

1026 2024-04-21 18:03:00

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

详情...
编程

Laravel 底层原理 - CSRF

743 2024-04-20 06:43:00

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

详情...
编程

PHP 8.4: 新增 http_(get|clear)_last_response_headers 函数

499 2024-04-19 03:03:00

PHP 提供了一个 HTTP 包装器,可以使用标准文件系统函数访问远程 HTTP 内容。例如,file_get_contents() 函数可以获取远程 HTTP 资源以及文件系统上的常规文件。在成功建立远程连接后,HTTP 包装器填充一个名为 $http_response_header 的本地变量。此变量是在局部作用域中填充的,它不是超全局变量。这是一个历史...

详情...
编程

PHP 8.4: 新增 mb_ucfirst 和 mb_lcfirst 函数

554 2024-04-18 21:18:00

PHP 提供 ucfirst 和 lcfirst 函数来更改给定字符串中第一个字符的大小写。mbstring 扩展为 PHP 的大多数标准字符串函数提供了多字节安全函数。然而,在 PHP8.4 之前,mbstring 扩展没有为 ucfirst 和 lcfirst 函数提供多字节安全的对应函数。在 PHP 8.4 中,mbstring 扩展添加了 mb_uc...

详情...