我正在考虑登录表格:
就其本质而言,登录表单会阻止对任意输入的操作 - 如果没有有效的用户名和密码,您只会被退回.有没有理由为什么这些甚至需要添加authenticity_token
或类似的跨站点请求伪造保护呢?
我很好奇登录表单是CSRF甚至可能通常不受欢迎的一个例子:
给定一个匿名客户端,应该允许与站点的第一个联系点是POST有效的登录凭据.CSRF通过首先要求客户端执行GET来建立匿名会话cookie来防止这种直接交互,该cookie用作其authenticity_token的基础.然后必须使用登录凭据回发令牌.当这里的实际目标是验证没有会话到达并且试图提供其凭据的用户时,额外的前期步骤似乎毫无意义.
我在这种情况下是否缺少一些安全考虑因素?
有几个有用的JavaScripts和.htc行为可以修补Internet Explorer渲染引擎中的漏洞和错误功能.似乎他们中的大多数都有一些重叠或不完整的功能支持,很难决定使用什么:
如果您还有其他内容,请添加到此列表中:这是一个社区维基.
哪些是您首选的脚本?有什么好处和限制?
更新:这些脚本现在通常称为"Polyfills"
我正在使用 Chef 编写服务器自动化脚本,并且需要检查 PEAR 包管理器的安装版本。命令行开关-V
将详细的版本信息打印到控制台:
PEAR Version: 1.9.0
PHP Version: 5.3.5-1ubuntu7.2ppa1~lucid
Zend Engine Version: 2.3.0
Running on: Linux ubuntu-lucid-32-generic 2.6.32-33-generic #72-Ubuntu SMP Fri Jul 29 21:08:37 UTC 2011 i686
Run Code Online (Sandbox Code Playgroud)
但是,我无法分离1.9.0
该结果的一部分并对其进行测试。pear 脚本似乎没有打印到 STDOUT,因为重定向也不起作用:
$ pear -V > pear_version
PEAR Version 1.9.0
...
$ cat pear_version
$
Run Code Online (Sandbox Code Playgroud)
如何捕获输出并将其传递给 grep 以便我可以仅返回“1.9.0”?
当允许用户选择日期范围时,让我们说:
显示[ 8月1日 ]至[ 9月1日 ]的参赛作品
作为一个用户,我通常希望这包括9月1日的结果.特别是当你考虑到我为两端选择相同的日期时,我的意思是"从一天的开始到一天的结束":
显示[ 9月1日 ]至[ 9月1日 ]的参赛作品
作为一名程序员,我认为日期边界为"零小时",即"开始日"; 从逻辑上讲,9月1日的条目实际上是在 "2010-09-01 00:00:00"之后(因此超出了范围).
例如,在SQL中,以下条件将排除所有内容:
SELECT * FROM entries
WHERE created_at >= DATE('2010-09-01') AND created_at <= DATE('2010-09-01')
Run Code Online (Sandbox Code Playgroud)
显然,需要从用户输入到SQL进行调整,以将结束日期提前24小时.
但是,这仅适用于timestamp或datetime列.当列是日期时,则直接比较有效,并且不应添加此调整.
在诸如Rails之类的MVC框架中,在发送查询之前,您在哪里处理此输入不匹配的逻辑?如果它在控制器中,似乎过分依赖于了解模型的内部字段(日期与日期时间),并且如果它在模型中,那么"find_in_date_range"方法是否会被理解为包含,或者只是邀请日常错误?
最后,我的假设是否正确使用户界面代表包容性范围?这种情况总是如此,或者是否存在严格(独占)日期边界更合适的情况?例如,在我耙脚本我使用参数END_DATE=2010-09-01
来捕获多达这个日期,这与UI不一致,但对我来说很有意义:你在哪里画这条线?
sql model-view-controller user-interface datetime ruby-on-rails
采取以下两个例子:
Date.parse("02/20/2009")
Date.parse("02-20-2009")
Run Code Online (Sandbox Code Playgroud)
在第一个示例中,假定顺序为MM DD YYYY,但在第二个示例中引发错误,因为(我假设)它尝试将其解析为DD MM YYYY.
为什么?
我在rails3项目中使用带有haml的scss.我误输了
zindex: 99999
Run Code Online (Sandbox Code Playgroud)
代替
z-index: 9999
Run Code Online (Sandbox Code Playgroud)
SCSS没有爆炸.
我认为使用haml/sass/scss的好处之一不是无效的css值是不允许的.