小编Vla*_*lad的帖子

用于托管 Web 应用程序公共图像的 S3 权限

我开始使用 S3 来托管连接到 Rails 模型的图像。图像不是由用户上传的,因此我只是使用 aws_sdk gem 将图像存储到 S3 存储桶。

到目前为止,我已经成功存储了图像,但我对权限感到困惑。也许我错了,但似乎大多数谈论 S3 权限的文档都已过时,我找不到它们所指的内容。

我想做的是非常基本的。我只想托管图像,并且图像本身是公开的,因此任何人都可以查看。但是,我不希望任何人只访问我的存储桶并查看其中托管的其他所有内容。所以基本上它只是一个在 S3 上托管图像的普通 Web 应用程序。如何以及在哪里可以更改权限设置以使其正常工作?目前,访问权限仅授予我自己,并且无法通过在浏览器中输入 url 来查看图像。

amazon-s3 amazon-web-services

6
推荐指数
2
解决办法
7986
查看次数

在objective-C上设置电子邮件标题?

我正在尝试制作一个发送电子邮件的应用,MFMailComposeViewController但该类似乎没有提供设置电子邮件标头的方法.

我试图找到一个较低级别的解决方案(甚至是一个库)来完成这个但却找不到一个.如何在Objective-C应用程序中设置/获取电子邮件标头?

[编辑]为了清楚起见,我正在寻找一种通过MFMailComposeViewController提供的方式设置电子邮件标头的方法.我已经知道如何发送简单的电子邮件了.我正在寻找一种方法来设置电子邮件标题,如In-Reply-To或Message-ID

objective-c email-headers ios ios7 mfmailcomposeviewcontroller

6
推荐指数
1
解决办法
596
查看次数

覆盖对象原型并禁止任何进一步的覆盖

我正在尝试编写一个拦截所有XMLHttpRequest调用的库,并在最终发送请求之前通过覆盖其原型来执行某些操作,例如:

var original_open = XMLHttpRequest.prototype.open;    
XMLHttpRequest.prototype.open = function() {
    // my own override logic here before running the original function
    original_open.apply(this, arguments);
};
Run Code Online (Sandbox Code Playgroud)

问题是,我想保证当有人使用这个库时,网页上的任何其他代码都不可能重新覆盖这种效果.

因为否则,使用这个库的网站可以动态加载另一段JS代码,它只是XMLHttpRequest.prototype.open再次覆盖它,而这个库的整个目的是禁止它.

我想Object.freeze()在覆盖之后立即使用冻结原型,这样其他代码就无法覆盖我自己的覆盖.代码看起来像这样:

var original_open = XMLHttpRequest.prototype.open;    
XMLHttpRequest.prototype.open = function() {
    // my own override logic here before running the original function
    original_open.apply(this, arguments);
};
Object.freeze(XMLHttpRequest.prototype);
Run Code Online (Sandbox Code Playgroud)

我的期望是,如果同一页面上的另一段代码试图重新覆盖我自己的覆盖,它将失败,因为原型已被冻结.

我的问题:

  1. 这是解决这个问题的正确方法吗?
  2. 这真的很安全吗?(没有漏洞)?

javascript

6
推荐指数
1
解决办法
73
查看次数

Kafka 与 MongoDB 的时间序列数据

我正在考虑是否将 MongoDB 或 Kafka 用于时间序列数据集。

乍一看,显然使用 Kafka 是有意义的,因为它就是为此而构建的。但我也希望在查询等方面有一些灵活性。

这让我产生了疑问:“为什么不直接使用 MongoDB 来存储带时间戳的数据并按时间戳对其进行索引?”

天真地想,这感觉它具有与 Kafka 类似的好处(因为它按时间偏移量索引),但具有更大的灵活性。但话又说回来,我确信人们在此类用例中使用 Kafka 而不是 MongoDB 的原因有很多。

在这种情况下,有人可以解释为什么要使用 Kafka 而不是 MongoDB 的一些原因吗?

logging time-series mongodb apache-kafka

6
推荐指数
2
解决办法
2812
查看次数

是否存在MongoDB查询语言本身的JSON模式?

MongoDB查询 - 至少在JavaScript中 - 被构造为JSON,但它非常灵活,所以我知道这不是一件简单的事情,事实上甚至不确定这是否可能,但只是想知道.

是否有JSON模式来检测随机JSON是否是有效的MongoDB查询对象?

json jsonschema mongodb

6
推荐指数
1
解决办法
296
查看次数

用户名通常受限制的关键字的任何来源?

我正在开发一项网络服务,需要限制用户注册某些用户名,例如admin,root等.

我知道这是每个人在开发新服务时都会遇到的常见问题,因此我认为应该有一个数据库或至少一些网站常用禁止用户名的例子,但是在Google上找不到它.我想我不是用正确的关键字搜索它.

任何人都可以指向这个资源吗?

account-management user-accounts

5
推荐指数
1
解决办法
1337
查看次数

Facebook offline_access弃用的含义

我刚刚将Facebook opengraph添加到我的应用程序中.我希望从用户那里获得某些图形属性,但它需要连续完成,即使此人不在网站上也是如此.基本上,应用程序需要一个后台进程来从用户的Facebook活动源中提取内容.

所以我的第一步是将用户的访问令牌存储在表中并定期运行cron任务.但是我发现Facebook正在逐渐放弃离线访问.我知道对于那些熟悉这一点的人来说这听起来可能很愚蠢,但我不确定这意味着什么,并且想确认一下.

我的理解是:

  1. 从5月开始Facebook完全切换到离线访问弃用模式,即使我存储用户的访问令牌,它也将在60天后到期.
  2. 因此,每次她/他登录我的应用程序时,我都可以重新存储用户的访问令牌
  3. 但是,如果用户超过60天没有重新登录该服务,那么它将全部结束,后台任务将无法再抓取用户的内容.
  4. 这意味着,例如,如果它是一个新闻通讯服务,根据活动向用户发送有用信息,如果我不要求他们登录(他们可能会访问我的网站检查内容但网站不需要他们登录以查看内容),引擎将在60天后停止运行,用户将忘记它.

它是否正确?

facebook facebook-graph-api

5
推荐指数
1
解决办法
1410
查看次数

如何在Devise上处理基于令牌和基于cookie的身份验证

我正在构建一个移动应用程序,使用令牌身份验证对rails服务器进行身份验证.我正在使用Devise进行身份验证,并找到了一种方法使其在移动设备上运行.但我也有一个网络应用程序.Web应用程序不使用json API,但它只是一个常规的rails web应用程序.

现在问题是我希望能够为移动设备使用基于令牌的身份验证,但同时允许用户通过Web界面登录.

我怎样才能做到这一点?

authentication cookies ruby-on-rails token devise

5
推荐指数
0
解决办法
698
查看次数

如何将 Google 字体转换为 png 或 gif?

我一直在使用 Google 字体作为我的网络应用程序的徽标。但看起来效果并没有我想象的那么好。但我仍然喜欢我一直在使用的字体。所以我想将其转换为 png 或 gif 并使用图像作为徽标。

做这样的事情最简单的方法是什么?

fonts typography google-font-api

4
推荐指数
1
解决办法
6042
查看次数

如果消息通过Apple推送通知服务如何调试?

我正在尝试使用node.js作为服务器的Apple推送通知服务.到目前为止,我已经让它工作,当它工作时,它按预期工作.

但是,有时消息不会到达.我不确定这是否自然(也许我的连接不良而且因为这个消息没有通过),或者如果它是我的代码中的错误.情况非常随机.虽然我没有更改代码或任何东西,但有时它会通过,有时它不会.

我正在使用node-apn(https://github.com/argon/node-apn),并且根据调试控制台,它被注册为成功通过 - 至少从服务器端注册.这是调试消息:

apn Initialising connection +19s
apn Initialising module +1ms
apn Connection established +383ms
apn Sending notification +0ms
apn Socket drained +1ms
apn Socket writeable +0ms
Run Code Online (Sandbox Code Playgroud)

消息通过时和消息未通过时都会显示此消息.所以我想node-apn本身就可以正常工作了.这意味着它要么:

  1. 我的服务器和apple推送服务器之间发生了一些事情
  2. 苹果推送服务器和我的iOS设备之间发生了一些事情

但我不知道如何找出正在发生的事情.所以我想找到的是一个解决方案:

  1. 了解我的推送通知是否由APNS注册
  2. 了解APNS是否将所有通知发送到我的iDevice

有人知道怎么做吗?非常感谢!

push-notification apple-push-notifications node.js ios

4
推荐指数
1
解决办法
1万
查看次数