如果即使对于开源项目,rails 项目的任何源代码也应该被隐藏怎么办? [关闭]

2024-05-20

这是一个很难寻找的东西。如果我有一个开源 Rails Web 应用程序项目,其源代码是公开托管的(例如在 GitHub 上),如果该应用程序要在公共网站上的生产环境中运行,则应隐藏或交换哪些信息?我的假设是,诸如 config/initilizers/secret_token.rb 之类的内容、任何身份验证加盐内容以及数据库登录信息在生产中不应与开发中相同。还应该采取哪些其他预防措施来确保生产站点不会受到人们摆弄会话或其他我未考虑的事情的影响?


Rails 特定的敏感信息源

清除以下敏感信息:

  • config/environments/*.rb
  • config/initializers/cookie_verification_secret.rb
  • config/initializers/secret_token.rb
  • config/initializers/session_store.rb
  • 添加以支持第三方库的任何文件,例如config/memcached.yml
  • config/database.yml
  • db/seeds.rb
  • 中的任何耙子任务lib/tasks.
  • test/fixtures/*

一般变化

包括这一点只是因为我认为这是发布您也在生产中使用的开源软件时需要记住的一个很好的清单。

  • Remove sensitive information:
    • 密码盐
    • 由代码或种子填充的默认用户凭据
    • authentication information to any external server or service
      • 数据库
      • 第三方API
      • 电子商务解决方案
    • 任何可能公开商业秘密的种子数据
  • 彻底测试代码是否存在漏洞。如果它们存在于您的代码中并且您的代码可供公众使用,人们就会找到它们并知道如何危害您的网站。
  • 清理代码。该代码是您网站的一种宣传形式;这是代表您的网站/公司的众多事物之一。确保您更改了出于幽默或沮丧而编写的变量/函数名称/错误消息/种子数据/等,但这对公众来说看起来很糟糕。
  • 积极为项目贡献您的增强功能和错误修复,并响应外部的修复/增强请求,甚至为那些自己解决了问题的人提出拉取请求。这可以保持项目的活跃度,也有助于宣传。
  • 确保在应得的信用处给予信用。现在您的代码是公开的,人们会知道您是否使用了第三方代码/库。如果此类代码的许可协议中附带了归属条款,请确保您的项目遵守这些协议。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果即使对于开源项目,rails 项目的任何源代码也应该被隐藏怎么办? [关闭] 的相关文章

随机推荐

  • 使用 Xamarin Forms 显示图像

    Solved 答案是更新所有 nuget 软件包并针对较新版本的 Android 现在图像按预期加载 我对此并不满意 因为我完全使用了 Xamarin 提供的代码 并且针对较新的版本已弃用了代码所依赖的一些项目 初始版本是 Xamarin
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • 将 null 转换为对象?

    我今天遇到了这段代码 AsyncInvoke OnTimeMessageTimer object null ElapsedEventArgs null 有没有什么问题 有时 当方法重载时 您需要这样做 以告诉编译器您正在调用哪一个 null
  • 批处理脚本 - IF EXIST 复制到 %localappdata% 错误

    我似乎被批处理脚本困住了 需要一些帮助 基本上我需要检查文件是否存在于文件夹中 localappdata 如果确实如此 则覆盖该文件 如果没有放置在不同的位置 那么目前它的内容如下 IF EXIST localappdata foldern
  • void ** 通用指针?

    void 是一个通用指针 但是呢void Is void 也是一个通用指针 我们可以打字吗void to int char 等等 我将感谢堆栈溢出家族提供有关此的任何信息 No void 是一个指向void 没有别的 仅有的void 其作用
  • webhook 和 websocket 之间的区别?

    我一直想进行实时聊天 几年前我用 PHP Ajax Mysql 完成了这个任务 并破坏了我的服务器 然后我尝试使用 Flash 文本文件 我放弃了 10年没有尝试过 但最近我听说了 webhooks 和 websockets 它们似乎都是做
  • BLE 堆栈的开源实现

    除了 BlueZ 和 Bluedroid 之外 还有其他 BLE 堆栈的开源实现吗 有几个开源 BLE 堆栈 NimBLE http mynewt apache org network ble ble intro Apache mynewt
  • xcode 4 中的 uitabbarcontroller 已更改

    我最近升级到 xcode 4 我的应用程序使用 tabbarcontroller 在旧的 xcode 3 x 中 您可以根据此屏幕截图将选项卡更改为不同类型 根据我在研究这个问题时收集到的信息 xcode 4 不再提供此功能 我错过了什么吗
  • 运算符 string() { some code } 的作用是什么?

    我在一个类中有以下代码 operator string return format CN d fd 并想知道这个操作员是做什么的 我熟悉常用的字符串运算符 bool operator const string c1 const string
  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • Swift getnameinfo IPv6 结果不可靠

    我有以下扩展sockaddr extension sockaddr Indicates if this is an IPv4 address var isIPv4 Bool return sa family UInt8 AF INET In
  • 更改 Spark Streaming 中的输出文件名

    我正在运行一个 Spark 作业 就逻辑而言 它的性能非常好 但是 当我使用 saveAsTextFile 将文件保存在 s3 存储桶中时 输出文件的名称格式为 part 00000 part 00001 等 有没有办法更改输出文件名 谢谢
  • Python:如何评估字符串函数?

    我从数据库中获取一些模型 f t 2 128795454425367 208 54359721863273 t 26 098128487929266 t 2 3 34369909584111 t 3 0 3450228278737971 t
  • 部署示例 Spring Web MVC 项目

    我是 Tomcat Maven 和 Spring Web MVC 准确地说是框架 v3 的新手 我试图建立example https anonsvn springframework org svn spring samples 项目mvc
  • 如何从 MySQL 数据查询创建 XML 文件?

    我想知道一种仅使用 MySQL 查询创建 XML 文件的方法 根本不使用任何脚本语言 有关于这个主题的书籍 教程吗 UPDATE 我想澄清一下 我想使用 sql 查询将 XML 数据转发到 php 脚本 Here s 关于从 MySQL S
  • Python sklearn 多标签分类:用户警告:所有训练示例中都存在标签不是 226

    我正在尝试多标签分类问题 我的数据看起来像这样 DocID Content Tags 1 some text here 70 2 some text here 59 3 some text here 183 4 some text here
  • 跨平台 C++ 文件系统观察器

    我正在寻找一个跨平台文件系统观察器 类似于文件系统观察者 http msdn microsoft com en us library system io filesystemwatcher aspx NET 中的类 因为它是守护进程 服务
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • HTTR GET 新错误:SSL 证书问题:证书已过期

    我已经运行这段代码几个月了 没有出现任何问题 今天我突然开始在我的两台 AWS 服务器上收到以下错误消息 错误 curl curl fetch memory url handle handle SSL证书问题 证书已过期 当尝试运行以下代码
  • 如果即使对于开源项目,rails 项目的任何源代码也应该被隐藏怎么办? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这是一个很难寻找的东西 如果我有一个开源 Rails Web 应用程序项目 其源代码是公开托管的 例如在 GitHub 上 如果该应用