我正在制作一个网站,我计划让用户可以轻松部署该网站;他们将能够获取我的源代码并将其部署到他们自己的服务器并作为他们自己的服务器运行。
我正在考虑尝试将 SSL 和 OpenID 以及其他功能合并到网站中。让用户访问这些文件(例如我的 OpenID/Twitter/Facebook 客户端密钥和机密,或 SSL 证书的东西,或其他任何东西..)会成为潜在的安全隐患或任何东西吗?他们能利用这些信息做任何危险的事情吗?
我正在制作一个网站,我计划让用户可以轻松部署该网站;他们将能够获取我的源代码并将其部署到他们自己的服务器并作为他们自己的服务器运行。
我正在考虑尝试将 SSL 和 OpenID 以及其他功能合并到网站中。让用户访问这些文件(例如我的 OpenID/Twitter/Facebook 客户端密钥和机密,或 SSL 证书的东西,或其他任何东西..)会成为潜在的安全隐患或任何东西吗?他们能利用这些信息做任何危险的事情吗?
SSL 不是应用程序的关注点
所有客户端密钥和秘密都是您自己的责任......我不会公开分发它们。
通常所做的是从环境中读取这些信息
facebook_client_key = ENV["FACEBOOK_CLIENT_KEY"]
所以部署者只需要配置环境,而不是应用程序。
我会避免将诸如您的客户密钥和机密之类的内容添加到您分发给用户的任何文件中。他们被称为秘密是有原因的!我不知道 Facebook 或 Twitter API 的来龙去脉,但肯定有 Akismet 等产品,它是 Wordpress 的反垃圾邮件插件,密钥用于识别您的特定 Wordpress 实例。
如果您出于商业目的使用 Wordpress 网站,则应该为 Akismet 付费。问题是,虽然您自己可能不会将其用于商业目的,但取决于您制作和分发的内容,这并不是说其他人不会将其用于商业目的,最终不仅会为您毁掉它,但适用于使用您的软件的其他人。
您应该将密钥和秘密作为应用程序配置的一部分,并且也许提供有关您的用户如何获取自己的密钥的说明。