在 PHP 中使用 Google Gemini AI
人工智能时代风靡一时。许多大玩家(OpenAI、Meta、微软)已经推出了自己的人工智能模型,可以生成图像、文本甚至代码。因此,谷歌最近也加入了这股潮流,推出了自己的人工智能模型Gemini,这是很自然的。 现在,作为一名PHP开发人员,我很好奇是否可以在PHP中使用这个模型。这就是我发现这个相对较新的PHP包erdemkose/generativ...
高级设计 vs. 低级设计
本文中,我们将探讨软件工程中的低级设计和高级设计。什么是高级设计?建筑的鸟瞰图显示了其整体结构、住宅楼层、商业空间和便利设施,以及它们是如何无缝连接的。类似地,高级设计(HLD)就像软件系统的鸟瞰图。它定义了总体架构、主要组件以及它们之间的交互方式。我们可以把它看作是为我们的软件体系结构奠定基础的蓝图。因此,HLD 是设计过程的初始阶段的结果...
Laragon:一款优秀的本地集成开发环境,PHP/Laravel 开发利器
什么是 Laragon?Laragon 是一个可移植、独立、快速、强大的通用开发环境,适用于 PHP、Node.js、Python、Java、Go 和 Ruby。它快速、轻便、易于使用且易于扩展。Laragon 非常适合构建和管理现代 web 应用程序。它专注于性能——围绕稳定性、简单性、灵活性和自由度进行设计。Laragon 非常轻,将尽可能保持苗条。核心...
Cookie 安全标志
为什么需要保护 cookie?Web 浏览器使用 HTTP cookie 的最常见方式之一是用于用户身份验证和会话持久性。攻击者可以通过执行以下任何操作以恶意方式使用cookie:窃取包含会话 ID 或身份验证 cookie 等敏感信息的 cookie重复使用被盗的 cookie 以访问经过身份验证的区域和现有用户会话伪造 cookie 以访问经过身份验证的...
使用 Same-Site Cookie 属性防止 CSRF 攻击
本文详细介绍了 Same-Site cookie 属性的工作原理,以及如何使用它来帮助防止恶意跨站点请求伪造(CSRF)攻击。
Laravel 底层原理 - CSRF
TokenMismatchException 👋你可能至少遇到过一次这种情况。你复制粘贴了异常,在网上搜索了一下,发现在请求中添加 @csrf 之类的指令或在 header 中引入 X-CSRF-TOKEN 就是修复方法。我们都走过这条路。但你有没有想过,为什么 Laravel 一开始就抛出这个异常?你真的需要在每个请求中发送一个 t...
PHP 8.4: 新增 http_(get|clear)_last_response_headers 函数
PHP 提供了一个 HTTP 包装器,可以使用标准文件系统函数访问远程 HTTP 内容。例如,file_get_contents() 函数可以获取远程 HTTP 资源以及文件系统上的常规文件。在成功建立远程连接后,HTTP 包装器填充一个名为 $http_response_header 的本地变量。此变量是在局部作用域中填充的,它不是超全局变量。这是一个历史...
PHP 8.4: 新增 mb_ucfirst 和 mb_lcfirst 函数
PHP 提供 ucfirst 和 lcfirst 函数来更改给定字符串中第一个字符的大小写。mbstring 扩展为 PHP 的大多数标准字符串函数提供了多字节安全函数。然而,在 PHP8.4 之前,mbstring 扩展没有为 ucfirst 和 lcfirst 函数提供多字节安全的对应函数。在 PHP 8.4 中,mbstring 扩展添加了 mb_uc...
PHP 随机数函数的随机性测试
随机数生成是一个生成无法合理预测的数字的过程。数字序列不应该是可预测的,它在依赖随机数序列的不可预测性的应用程序中发挥着重要作用。“真”随机数生成过程可以包括任何东西,从简单的掷硬币、掷骰子到宇宙辐射测量、大气压、熔岩灯,以及其他取决于几个自然发生的物理方面的物理手段,这使得在计算机上进行预测变得相当困难。大多数现代计算机操作系统试图提供一个接近的“真实”随...
使用 Laravel Zero 创建 TCP 服务器
几周前,我开始为我的团队 “Securets ISI” 主办的即将到来的年度 CTF 开发 TCP 服务器。目标是使玩家能够使用以下命令快速提交标志:echo "flag" | nc 127.0.0.1 8000对于这项任务,我需要开发一个控制台应用程序。我发现 Laravel Zero 非常适合,而不是像 Laravel 的 DB 和 Views 组件、S...