RESTful身份验证的含义是什么?它是如何工作的?我无法在Google上找到一个很好的概述.我唯一的理解是你在URL中传递会话密钥(remeberal),但这可能是非常错误的.
我想加密我的网站的身份验证和注册部分(显而易见的原因).这个网站是目前和旧网站,我和一些朋友在中学开始使用,今天仍在使用.我可能会或可能不会在不久的将来将其注册为非营利组织,但不管怎样,CA都要花钱而组织没有,我们现在是大学生.
Verisign是不合理的,GoDaddy每年30美元.GoDaddy并不是太不合理,我认为他们的证书被大多数网络浏览器所接受.GoDaddy的问题是我不知道为什么他们有不同的SSL产品(即:为什么不验证我这么便宜?这对证书有什么影响以及如果它只包含一个域名,浏览器如何处理它?)
另外,使用我自己的证书是否存在问题?登录页面是否可以是http,并且有一行说明我使用的是自签名证书,这是指纹,然后将表单发布到https页面?Safari的方法不是太糟糕或听起来太吓人了.但是,我担心firefox 3的方法会吓跑人们,并给我一大堆电子邮件,说我的网站被黑客攻击或其他什么.我不知道IE如何响应自签名证书.(还有一个问题是为什么付出我可以毫不费力地创造自己的东西,但我不打算构成它的哲学部分,这是一个更实际的问题.)
总而言之,我是否每年给GoDaddy 30美元,或者我只是告诉人们一小段我在做什么,并给那些真正想要我指纹的人?
编辑:有些人在我正在阅读的论坛上提到更多信息,提到GoDaddy证书仅在GoDaddy服务器上提供,但事实并非如此.两件事:(1)这是真的吗?并且还有其他CA的价格大致相同,因此论证应该仍然相同.
我正在尝试按以下方式扩展Method类:
irb(main):008:0> class A
irb(main):009:1> def a
irb(main):010:2> puts "blah"
irb(main):011:2> end
irb(main):012:1> end
=> nil
irb(main):013:0> class Method
irb(main):014:1> def aa
irb(main):015:2> p "hi"
irb(main):016:2> end
irb(main):017:1> end
=> nil
irb(main):018:0> f = A.new
=> #<A:0x54ed4>
irb(main):019:0> A.a
NoMethodError: undefined method `a' for A:Class
from (irb):19
from :0
irb(main):020:0> f.a
blah
=> nil
irb(main):027:0> f.a.aa
blah
NoMethodError: undefined method `aa' for nil:NilClass
from (irb):27
from :0
Run Code Online (Sandbox Code Playgroud)
正如所料,当我f.a.aa,.aa正在执行的返回值f.a.如何获得对表示的Method对象的访问权限f.a?
我正在尝试在Ruby中创建一个HMAC,然后在PHP中验证它.
红宝石:
require 'openssl'
message = "A522EBF2-5083-484D-99D9-AA97CE49FC6C,1234567890,/api/comic/aWh62,GET"
key = "3D2143BD-6F86-449F-992C-65ADC97B968B"
hash = OpenSSL::HMAC.hexdigest('sha256', message, key)
p hash
Run Code Online (Sandbox Code Playgroud)
PHP:
<?php
$message = "A522EBF2-5083-484D-99D9-AA97CE49FC6C,1234567890,/api/comic/aWh62,GET";
$key = "3D2143BD-6F86-449F-992C-65ADC97B968B";
$hash = hash_hmac("sha256", $message, $key);
var_dump($hash);
?>
Run Code Online (Sandbox Code Playgroud)
对于Ruby,我得到:20e3f261b762e8371decdf6f42a5892b530254e666508e885c708c5b0bfc03d3
对于PHP,我得到:e5f6995ba1496b2fb144329b2d1b3b23c8fa3211486e57bfaec5d993a1da9d15
我和一些同事完全失去了,任何帮助都将不胜感激.
我知道这不是PHP特有的,但是使用这样列出的时区有什么意义:http://us2.php.net/manual/en/timezones.america.php?例如"America/Indianapolis"和"America/New_York".EST,EDT,CST,CDT和c有什么问题?