Tag: networking服务

最好的SOAP / REST / RPC Web API的例子? 你为什么喜欢他们? 他们有什么问题?

在我的公司,我们开始分支到Web API来访问和更新我们的数据; 最初是为了合作伙伴,但随后可能会在公众面前。 目前,API的外观(如SOAP,REST,RPC)完全开放,我们还没有做出任何决定,所以我对两个人们认为是好的Web API的例子感兴趣,为什么你认为那。 我感兴趣的是使用不同语言(我们可能会向使用多种平台的用户提供API,特别是.NET,Java,ActionScript和JavaScript)提供关于您认为很好的Web API的意见例子,而且你有很好的经验。 我想说的一些观点: 你喜欢SOAPtypes的服务还是REST / RPCtypes的服务? 我怀疑有平台支持的人(比如.NET,Java)会更喜欢SOAP,而使用没有平台支持的语言的人会更喜欢其他人,但是我想validation这个假设。 你关心一个API是否实际上是RESTful,还是它是一个普通的RPC样式的HTTP GET / POST? 如果是这样,你为什么在意? API是否正确地描述了它本身(比如说,如果它是RPC风格,不要说是REST风格)比它实际上是否是其中之一更重要? 我们需要validation谁在使用该服务。 我一直在看亚马逊S3authentication,它使用公共标识符和用于将请求的参数散列到validation令牌中的私有令牌(这也类似于flickr)。 您之前是否使用过这种authentication方式?您是如何继续使用它的? 有没有你发现的哈希algorithm有问题(即不支持你的平台)? 你希望发送一个HTTP头或在URI的哈希? 如何处理版本控制? 有一个/v1/ type子目录是否是一个好主意,以便将来的版本可以一起添加,或者你会做一些不同的东西,如请求有效载荷或查询中的版本? 多长时间,你会期望一个你所build立的API版本被支持(即如果v2被引入,你期望在v1的生命周期)。 此外,任何其他意见和要点,将是有益的。 我故意对我们正在实施的API的实际types保持模糊,因为我正在寻找关于人们认为是好的API和实现机制的一般指导,所以这篇文章及其答案将对更多的人有用在将来。 注意:我已经search了,并且找不到关于这个的一个通用的问题 – 它们似乎都是特定于某种types的API – 但是如果它是重复的,请让我知道。 此外,如果它应该是社区维基(我认为人们应该得到的答案,所以我没有做到一个),那么请让我知道,我会改变它。

如何在不login的情况下保护Web服务

我有一个移动应用程序(目前IOS和即将安卓),它谈到一个Web服务。 没有login,数据不是私人的。 基本上,应用程序发布标记(lon,lat),并获取最近的25个标记以在地图上显示。 这是一个非常微不足道的应用程序,我无法想象任何人会付出巨大的努力滥用networking服务。 不过,我可以看到有人在张贴多个标记时很有趣。 最让我担心的是有人在运行一个脚本,它推动了很多请求(使用昂贵的带宽并且废my我的应用程序数据)。 我正在慢慢得出结论,这是不可靠的。 最好的答案是“不要这样做”。 不要提供没有身份validation的Web服务。 没有太多的服务如此开放。 Google的You Tube API是开放的,但大部分都不是。 不幸的是,我没有select。 所以在看了这几天之后,这是我的想法。 注意我离安全专家很远,我相信我的方法可以改进。 但是这可能会使你指向正确的方向。 希望有更多经验的人可以join并纠正/改善这一点。 我发现这篇文章和评论特别有用。 消息级别安全性 我将使用散列encryption来保护邮件。 客户端和Web服务都保留一个共享密钥的副本,这个密钥用来作为一个salt来从URL和所有的POST参数创build一个哈希。 散列作为附加parameter passing,哈希被重build并在另一端进行比较(使用共享密钥作为盐)。 这是相当不错的,直到你明白,任何移动客户端代码可以在几分钟内逆向工程。 在这一点上,这条防线完全没用。 客户端措施 客户端包括消息速率限制作为限制诚实用户发送的消息数量的措施。 再次,这对于越狱移动设备的攻击者来说毫无用处。 服务器端安全 因此,服务器端必须尽可能多地采取额外的安全措施,只要您的客户端(和共享的秘密)被破坏就可以独立运行。 这是我有什么: 一个味精属于UTC时间,用于限制重播攻击。 这应该防止攻击者反复在服务器上触发相同的消息。 服务器通过IP执行速率限制。 是的,IPs很容易被欺骗,代理交换是小孩玩,但是当你有这么less的时候,一切都会有帮助。 当然,服务器严格validation所有的参数,使用参数化的查询,并不会返回exception。 运输级别安全 不幸的是,我相当确信,如果没有注册过程,发布个人客户端SSL证书是不可能的。 而且因为我正在使用msg散列检查(而且我的数据不是私有的),所以我不完全确定SSL带到表中。 但是,我可能会使用SSL(只有一个应用程序范围的证书),因为它增加了另一个级别的安全性,易于部署,而且价格便宜(尽pipe每个msg需要花费额外的连接时间)。 我的方法中的巨大的大洞 我被警告,如果应用程序变得stream行,有人会妥协的客户共享的秘密。 只是因为他们可以,他们可能会在互联网上发布。 所以真的这一切都归结于服务器端。 不幸的是, 我无法识别和阻止攻击者 。 这我会深深的爱。 最后的请求 经过几天的研究,这是我所有的。 但我想要更多。 我特别感谢任何想法来加强服务器端。 所以,我把所有的SO点作为赏金。 是的,先生,全部97分!

docker:要embedded还是不embedded?

embeddeddockervs在docker部署你的webapp有什么好处? 如果您计划部署多个Web应用程序,您是否应严格按照每个Web应用程序部署一个战争文件(而不是编写一个调用每个Web应用程序的embedded式服务器)?

使用表单input访问相机,并立即上传照片使用networking应用程序

我遇到了这个辉煌的答案 : 在iPhone iOS6和Android ICS之后,HTML5具有以下标签,可让您从设备上拍照: <input type="file" accept="image/*" capture="camera"> 捕捉可以采取相机,摄像机和audio的价值。 是否有可能通过使用某种types的jax来进一步上传照片? 例如,使用我的手机,一旦我点击input,然后打开相机,这将立即让我拍照并保存。 当我将它保存到相机时,它会被inputbutton列为要上传的文件。 这张照片需要立即上传,而不是等待用户点击表单的“提交”button?

一个iOS应用程序的最佳体系结构,使许多networking请求?

我正在重新思考我正在开发的一个大型应用程序的请求架构的方法。 我目前正在使用ASIHTTPRequest来实际发出请求,但由于我在不同的视图控制器中采取了许多不同的操作,因此我需要许多不同types的请求,所以我正在尝试制定组织这些请求的最佳系统。 我目前正在构build由应用程序委托保留的单身“请求者”,并围绕收听需要发出请求的NSNotifications进行聆听。 他们提出请求,收听响应,并发送一个新的NSNotification与响应数据。 这解决了我的大部分问题,但并不优雅地处理失败的请求或同时请求到同一个单身人士请求。 任何人都有成功的devise一个清晰的面向对象的架构,用于在iOS应用程序中进行多种不同types的请求?

从Windows机器访问iOS Safari Web Inspector

新的iOS 6 Safari带有Web Inspectorfunction,允许从桌面Safari通过USB电缆连接到它。 然后,它允许您从桌面debugging在iOS Safari中打开的页面。 但据我所见,这个function只支持Mac Safari,不支持Windows? 我是对的,还是Windows Safari也有这种可能性? 或者稍后可能会变得可用?

如何从亚马逊vpc连接到外部世界?

我有亚马逊VPC通过向导设置为“公共唯一networking”,所以我所有的实例都在公共子网。 VPC中的弹性IP分配的实例没有任何问题连接到互联网。 但是没有弹性IP的实例不能连接到任何地方。 互联网网关存在。 aws控制台中的路由表看起来像 Destination Target 10.0.0.0/16 local 0.0.0.0/0 igw-nnnnn 并从实例显示的路线 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 * 255.255.255.0 U 0 0 0 eth0 default 10.0.0.1 0.0.0.0 UG 100 0 0 eth0 我试图打开一个实例所属的安全组中的所有入站和出站stream量到0.0.0.0/0。 仍然没有成功。 ~$ ping google.com PING google.com (74.125.224.36) 56(84) bytes of data. ^C — google.com […]

Cloud Foundry解释说

所以我一直在读Cloud Foundry,但是我仍然对它是什么感到困惑。 这里是我在CF上的PaaS,希望你们可以告诉我,如果我错了,解释一下好一点。 像Microsoft Azure或Google AppEngine这样的传统PaaS产品提供了开发,testing,托pipe和pipe理您的Web应用程序的完整平台。 但是,您必须使用他们的API,并且仅限于他们提供的服务以及他们支持的语言/框架。 Cloud Foundry似乎是某种“中间人”,它允许您的应用程序使用来自许多公共云的服务。 它是如何完成的? 是否有一个您使用的API,比如LibCloud或JCloud? 例如,您可以使用一个服务提供商提供的服务,另一个服务提供商提供另一个服务吗? Cloud Foundry本身是否提供任何服务,还是仅仅是一个中间人,允许您轻松地从一个平台迁移到另一个平台,并在一个应用程序中使用来自不同提供商的不同服务组合?

监听networking端口并将数据保存到文本文件

有没有一些简单的方法在Linux上侦听networking上的数据,并将其保存到文本文件? 谢谢。

游戏networking物理碰撞

如何模拟两个客户控制的车辆在一个典型的客户/服务器networking游戏设置中(明智地)碰撞? 我没有阅读这个着名的博客文章如何做分布式networking物理(一般没有传统的客户端预测),但这个问题是具体如何处理拥有对象的冲突。 例 假设客户端A比服务器提前20ms,客户端B比服务器提前300ms(同时计算延迟和最大抖动)。 这意味着,当两辆车相撞时,两个客户将看到另一个320毫秒后面 – 与另一辆车的速度相反的方向。 在瑞典高速公路上的直接对比意味着16米/17.5码的差距! 什么不要尝试 实际上我们不可能外推这些位置,因为我也有非常复杂的车辆,所有车辆都有接头和车身,而这些车辆又有线性和angular度位置,速度和加速度,更不用说用户input的状态了。