一点灾难,一大动力:构建 CLI Secret Manager

那么,让我们来谈谈一个变成重大动机的小不幸。我刚从盒子里拿出来的闪亮新 macbook pro m3 在例行软件更新后决定将自己变砖。 提示戏剧性的音乐。随之而来的是我所有宝贵的数据,包括那些讨厌的秘密,如 api 密钥、ssh 密钥和个人 shell 脚本。最糟糕的部分?距离关键的生产部署只有两天了。

失去秘密的多米诺骨牌效应

随着我的秘密消失,我不得不联系各个团队和部门来获取新的秘密。不幸的是,这个过程花费的时间比企业界预期的要长。获取这些重要密钥的延迟最终导致了部署的推迟。

为什么选择 CLI 秘密管理器?

这件事迫使我重新思考我的秘密管理策略。当然,我可以直接压缩这些秘密并将它们扔到 Google Drive、OneDrive 或 S3 上。但说实话,这是一个巨大的安全风险:

未经授权的访问:如果有人获得您的云存储帐户的访问权限,他们可能会获得您的敏感信息。数据泄露:云存储提供商虽然通常是安全的,但也不能免受数据泄露的影响。

用密码保护存档是一个选项,但我懒得这样做。使用 LastPass 等第三方服务是另一种可能性,但它需要手动更新和管理; 又懒了

也有提供自动同步的本机应用程序,但说实话,免费的应用程序要么维护不善,要么用户体验不佳。那么付费的呢?噗,拜托。

即使有一个软件能够满足我的所有需求,作为一名软件工程师,我也无法抗拒构建自己的需求的冲动;我可以控制和定制的东西。 因此,我决定构建自己的 CLI 秘密管理器。

计划是什么?

我正在构建一个 CLI 应用程序,它允许我:

存储:使用强大的加密和安全存储机制。检索:使用简单的命令来访问我需要的秘密。管理:轻松添加、删除和更新机密。同步: 确保多台机器之间的一致性。共享:使用非对称密钥与其他人安全地共享秘密。

我选择了 PHP 和 Laravel Zero 作为这个项目的技术堆栈。您可能会问,为什么选择 PHP?嗯,这是一种我比我的前任更喜欢的语言,我仍然对他很着迷,但至少我没有对 Python 着迷。 Laravel 是一个坚如磐石的框架。为了使应用程序可供更广泛的受众使用,我将尝试使用 static-php-cli 和 box-project 创建一个独立的二进制文件。

更多内容敬请期待

我将定期分享开发流程的最新动态,包括挑战、解决方案和最佳实践。项目完成后,我还将在 GitHub 上发布该项目,以便您自己贡献或使用它。

所以,系好安全带,和我一起踏上这段激动人心的旅程,我将构建一个强大的(?)且安全的 CLI 秘密管理器。

一点灾难,一大动力:构建 CLI Secret Manager

以上就是一点灾难,一大动力:构建 CLI Secret Manager的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1249702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月9日 21:35:08
下一篇 2025年12月9日 21:35:16

相关推荐

  • Laravel 与 CodeIgniter:Web 开发的全面比较

    为您的 Web 开发项目选择正确的框架对于确保效率、可扩展性和用户满意度至关重要。 Laravel 和 CodeIgniter 是两个最流行的 PHP 框架,每个框架都提供独特的功能和优势。无论您是在英国寻找可靠的 PHP 开发公司的开发人员还是企业主,了解这些框架的细微差别都可以指导您的决定。 L…

    好文分享 2025年12月9日
    000
  • PHP 的新功能

    php 8.4:新增功能以及如何使用它 php 8.4 现已推出,带来了一些令人兴奋的功能,可以简化编码并提高性能。本文通过简单的示例解释了最重要的更新,使各种技能水平的开发人员都能轻松理解和使用这些功能。 1. 属性挂钩 属性挂钩可让您自定义获取或设置属性时发生的情况。这消除了对单独的 gette…

    2025年12月9日
    000
  • 为什么使用 POST 进行更新比超链接更安全

    在 php 中更新记录时,选择使用 执行操作(通常通过表单和 http 方法,如 post 或 put)还是 超链接(通常使用 get 方法)归结为安全性和最佳实践。这就是为什么执行操作是首选: 安全 get(超链接): 由链接触发的操作通常使用 get http 方法,该方法旨在检索信息,而不是修…

    2025年12月9日
    000
  • (我的第一次)安装 Laravel

    有时,尤其是当您刚刚开始职业生涯时,您似乎遵循了指示却一事无成 – 而其他人似乎发现这非常容易。 这可能非常令人沮丧,我想描述一下即使在几十年之后我也经历完全相同的事情的几种方式。所以我在这里,试图详细描述我在努力让事情顺利进行时所犯的错误和失误。这是我关于这个主题的第一篇文章,但我希望…

    2025年12月9日
    000
  • 如何将 Vultr 对象存储与 Laravel 结合使用(可兼容)

    第一步 在本教程中,我假设您已经准备好 laravel 项目环境,并且具备 php/laravel 的初级/中级知识。 首先,我们需要在 vultr 的管理面板上准备我们的对象存储环境。如果您没有 vultr 帐户,只需在此处创建一个。创建帐户后,您需要创建一个对象存储,然后创建一个存储桶。对于本教…

    2025年12月9日
    000
  • 我最终尝试了 Pest for PHP & Laravel,然后进行了切换

    我在2015年中开始学习纯php。然后,我熟悉了codeigniter 3和laravel 5.1。多年来,laravel 是我选择的框架,而且我仍然坚持使用它。与其他流行的 php 项目一样,我认为 phpunit 是单元测试的唯一选择。但2021年佩斯来了,情况发生了一点变化。它是由 larav…

    2025年12月9日
    000
  • php怎么去掉多余的标签

    本文针对 PHP 开发人员提供了一种高效的方法来移除不必要的 HTML 标签。通过利用内置的 DOMDocument 类和相应的 XPath 表达式,你可以轻松识别和删除多余的元素,从而优化你的 HTML 代码库,提升网页的性能和加载速度。 1. 确定要删除的标签 1.1 手动检查 检查 HTML …

    2025年12月9日
    000
  • 以下是开发人员在使用 Laravel 时面临的一些常见问题

    找不到类异常 当应用程序由于不正确的文件路径或命名空间问题而找不到类时,就会发生此错误。要解决此问题,请确保类名和命名空间与文件路径匹配,然后运行 ​​Composer dump-autoload 命令。 找不到路线 当定义了路由但缓存的路由文件导致问题时,可能会发生此错误。要解决此问题,请运行 p…

    2025年12月9日
    000
  • 在 Laravel 应用程序中集成第三方 API 的分步指南

    主题:laravel、api、thirdpartyintegration、web 开发 php laraveltips apisinlaravel 将第三方 api 集成到 laravel 中可以通过利用外部服务(例如支付、数据检索等)来增强您的应用程序。以下是有效集成第三方 api 的分步指南和示…

    2025年12月9日
    000
  • Working with PHP Attributes: Do’s & Don’ts

    php 中的属性允许您直接使用元数据注释代码元素,从而简化了代码配置,从而可能减少 laravel 等框架中的样板文件。然而,与任何功能一样,属性可能会被过度使用或误用,从而导致控制器混乱和代码难以维护。 在这篇文章中,我们将探索以增强代码清晰度的方式使用属性的最佳实践。我还将提供一个“该做和不该做…

    2025年12月9日
    000
  • 要避免的 fetch() 和 XMLHttp 错误

    可悲的是,我没有避免这些错误。我希望这可以帮助其他人在尝试更新网页而不完全下载新版本时避免它们。我最终得到的代码似乎有效: async function fetchdbsingle(url, str) { const datatosend = str; console.log(‘fetchdbsin…

    2025年12月9日
    000
  • 如何在 Laravel 中处理大型数据集而不耗尽内存

    如何在 laravel 中处理大型数据集而不耗尽内存 在 laravel 中处理大量数据时,经常会遇到应用程序内存不足等问题。当尝试一次将数千(甚至数百万)条记录加载到内存中时,可能会发生这种情况。然而,laravel 提供了一些有用的方法来帮助您以较小的块处理数据,从而节省内存并使应用程序运行得更…

    2025年12月9日
    000
  • Comprehensive Methods to Display Arrays in PHP and Laravel

    在 php 和 laravel 中显示数组 这里有几种在 php 和 laravel 中显示数组的方法,以及它们的示例和用法。根据您的要求,每种方法都有不同的用途。 主题:print_r、var_dump、var_export、json_encode、foreach、dd、dump、blade、js…

    2025年12月9日
    000
  • 如何在 Laravel 中创建多语言网站

    本文将为您提供如何在 laravel 中创建多语言网站的示例。您可以理解 laravel 多语言网站示例的概念。在这里你将学习如何在 laravel 中添加多种语言。这是带有语言下拉菜单的 laravel 多语言的简单示例。您可以学习如何在 laravel 中使用全局作用域 让我们按照以下 lara…

    2025年12月9日
    000
  • Web 图像:完美(自动)调整大小和转换

    几乎每个前端开发人员都知道,我们需要在不影响质量的情况下向用户提供尽可能小的图像。我们都知道如何实现这一目标。但这是一件没人喜欢做的苦差事。同样从商业角度来看,这需要时间,而时间就是金钱。所以,“足够好”就够了。 让我分享一下我们如何改进和自动化完美图像交付,而不会给开发人员带来更多工作。 通常是如…

    2025年12月9日
    000
  • 如何提高 php 水平

    提高 php 水平需要持续学习。对于成长中的 php 开发人员来说,这是一个关键阶段。以下是提高 php 技能的基本步骤: 从基础开始 专家总是建议从核心概念开始,例如变量、数据类型和控制结构。这是提高 PHP 编码技能最重要的学习路径。 创建您的工作空间 首先,创建您的开发环境作为您的创作空间。通…

    2025年12月9日
    000
  • 初学者提高编程逻辑的 5 个技巧

    编程方法的5个步骤是什么?如何才能擅长编程逻辑?编程逻辑的基础是什么?初学者应该如何开始编程? 想要找到这些问题的答案吗?请继续阅读。 计算机系统中的一组规则,也称为编程逻辑,指定了某些组件的放置顺序,以使计算机硬件能够执行特定任务。换句话说,编程逻辑是以系统的方式应用规则来产生可行的结果。 编程逻…

    2025年12月9日
    100
  • PHPStan:通过静态分析提高 PHP 代码质量

    在动态类型盛行的 php 生态系统中,管理代码质量并确保无错误开发可能具有挑战性。 phpstan 是一款专为 php 定制的静态分析工具,旨在帮助开发人员在运行代码之前捕获错误和潜在问题。通过静态分析,phpstan 允许开发人员通过在开发早期捕获错误来编写更可靠、可维护和健壮的代码。在这篇文章中…

    2025年12月9日
    000
  • NexaPHP 简介:轻量级 MVC PHP 框架

    构建 php 应用程序通常涉及大量样板代码和组织以保持干净的结构。许多开发人员使用 laravel 或 symfony 等框架来处理此问题,但如果您只需要一个轻量级、简单的 mvc(模型-视图-控制器)框架怎么办? nexaphp 可能正是您正在寻找的。这个极简主义框架是为那些想要精益结构而没有大型…

    2025年12月9日
    000
  • 如何在 Laravel 中包含 JavaScript 适用于所有场景的分步指南

    如何在 laravel 11 中包含 javascript:适用于所有场景的分步指南 在 laravel 11 中,向项目添加 javascript 变得轻而易举,这要归功于默认的资源捆绑器 vite。以下是如何为各种场景设置 javascript,从全局包含到特定视图中的条件加载。 1. 在所有文…

    2025年12月9日
    000

发表回复

登录后才能评论
关注微信