假设我的网站上有很多关于我们产品的信息.我希望我们的一些客户(包括我们!)能够通过各种方法查找我们的产品,包括:
1)从AJAX调用中提取数据,以冷却,JavaScripty方式返回数据2)创建使用该数据的iPhone应用程序; 3)让其他Web应用程序将这些数据用于自己的目的.
通常,我只是创建一个API并完成它.然而,这些数据实际上是轻微保密的 - 也就是说我们不希望我们的竞争对手每天早上都能查看我们的所有产品,然后自动设定价格来削弱我们.我们还希望能够看到谁可能滥用系统,所以如果有人每天要对我们的API进行一千万次复杂的调用并使我们的服务器陷入困境,我们就可以将其删除.
我的下一个逻辑步骤是创建开发人员的密钥以限制访问 - 这对于Web应用程序可以正常工作,但对于任何AJAX调用都没有那么多.(正如我所看到的,他们需要提供JavaScript中的密钥,这是明文和容易看到的,因此实际上根本没有安全性.特别是如果我们在我们的网站上使用我们自己的开发人员密钥进行这些AJAX调用.)
所以我的问题是:在查看Oauth和OpenID一段时间后,我不确定是否有一个解决方案可以处理上述所有这三个问题.对于开发人员的密钥,是否存在某种规范的"最佳实践",或者Oauth和OpenID能否以某种方式轻松处理AJAX调用,或者我完全错过了什么?
我们正在尝试在 Skaffold 下建立一个包含多个微服务应用程序的本地开发环境。我们设法使用基础 Skaffold 来完成此操作,使用https://github.com/ahmetb/skaffold-from-laptop-to-cloud上的(稍微过时的)教程。为了让 Skaffold 在没有 Helm 的情况下将图像推送到本地存储库,我所要做的就是将 imageName 设置为使用类似 localhost:5000/image_name 的名称。
但是对于 Helm,嗯...我设置了一个非常粗糙的 Helm 安装(免责声明:我对 Helm 还不太熟悉),只需更改 skaffold YAML 以使用 Helm 并将所有 .YAML 部署和服务文件转储到Helm 图表的 /templates 目录,然后就被炸毁了。
然后,Skaffold 成功创建任何依赖于外部外部映像(例如 Redis)的 pod,但每当任何内容使用从本地 Dockerfile 生成的映像时,它就会卡住并抛出此错误:
无法拉取图像“localhost:5000/k8s-skaffold/php-test”:rpc 错误:代码 = 未知 desc = 来自守护程序的错误响应:获取 http://localhost:5000/v2/:拨打 tcp [::1] :5000: 连接:连接被拒绝
据我所知,这是当我们没有初始化本地 Docker 镜像存储库时出现的错误 - 但对于非 Helm 版本,我们不需要启动本地镜像存储库,Skaffold 就发挥了这一作用发生。这是 Skaffold 吸引力的一部分。
那么我们如何自动让 Skaffold 创建 Helm 图表,并从本地存储库中创建和提取呢?(如前所述,这可能是我对 Helm 不熟悉。如果是这样,我深表歉意。)
Skaffold YAML 是这样的:
apiVersion: skaffold/v1beta7
kind: Config
build:
tagPolicy:
sha256: {}
artifacts:
- …Run Code Online (Sandbox Code Playgroud) 由于业务逻辑合理的原因,我需要在字符串中将字符"Æ"转换为"Ae".但是,尽管mb_detect_encoding()告诉我字符串是UTF-8,但我无法弄清楚如何执行此操作.(并且出于商业逻辑的其他原因,在替换之前,htmlentities()字符串将成为一个问题,正如其他Google搜索所建议的那样.)
我首先尝试的是使用测试字符串"Æther":
return str_replace("Æ", 'Ae', $string);
Run Code Online (Sandbox Code Playgroud)
不幸的是,实际上并没有在文本中找到Æ,返回"Æther".
return str_replace(chr(195), 'Ae', $string);
Run Code Online (Sandbox Code Playgroud)
找到Æ并替换它,但之后添加一个未知字符,将其更改为不可用的"Ae ther".所以我尝试了这个:
$ae_character = mb_convert_encoding('&#' . intval(195) . ';', 'UTF-8', 'HTML-ENTITIES');
return str_replace($ae_character, 'Ae', $string);
Run Code Online (Sandbox Code Playgroud)
再次未能在字符串中找到Æ字符.我知道这是某种类型的UTF-8问题,但老实说,如果不事先添加额外的字符就如何搜索和替换它,我真的很难过.有任何想法吗?