首先,一点背景:我正在为CodeIgniter实现一个auth + auth系统并不是什么秘密,到目前为止我赢了(可以这么说).但是我遇到了一个非常重要的挑战(大多数auth库完全错过了,但我坚持正确处理它):如何智能地处理大规模,分布式,可变用户名的暴力攻击.
我知道所有常用的技巧:
现在,这些只是理论上可行的想法.有很多垃圾想法可以打开网站(比如琐碎的DoS攻击).我想要的是更好的东西.更好的是,我的意思是:
它必须安全(+)抵御DoS和暴力攻击,并且不会引入任何新的漏洞,这些漏洞可能会让稍微狡猾的机器人继续在雷达下运行
它必须是自动化的.如果需要人工操作员验证每次登录或监控可疑活动,那么它无法在真实场景中运行
它必须适用于主流网络使用(即可由非程序员执行的高流失率,高流量和开放式注册)
它不会妨碍用户体验到临时用户会感到烦恼或沮丧(并可能放弃网站)
它不能涉及小猫,除非它们真的是非常安全的小猫
(+)'安全',我的意思是至少和偏执的用户保密密码一样安全
所以 - 让我们听听吧!你会怎么做?你知道我没有提到过的最佳实践(哦,请你说)吗?我承认我对自己有所了解(结合3和4的想法),但我会让真正的专家在让自己尴尬之前说话;-)
我已经构建了一个图像滑块(基于极好的bxSlider),它会在滑入视图之前及时预加载图像.它已经很好用,但我不认为我的解决方案是有效的HTML.
我的技术如下:我生成滑块标记,第一张幻灯片图像像往常一样插入(带有<img src="foo.jpg">
),后续图像在数据属性中被引用<img data-orig="bar.jpg">
.然后Javascript data-orig -> src
在必要时调整更改,触发预加载.
换句话说,我有:
<div class="slider">
<div><img src="time.jpg" /></div>
<div><img src="data:" data-orig="fastelavn.jpg" /></div>
<div><img src="data:" data-orig="pels_strik.jpg" /></div>
<div><img src="data:" data-orig="fashion.jpg" /></div>
</div>
Run Code Online (Sandbox Code Playgroud)
为了避免空src=""
属性(在某些浏览器中对性能有害),我插入了有效插入空白图像作为占位符.src="data:"
问题是,我似乎无法在文档中找到data-URI来说明这是否是一个有效的数据URI.我基本上想要解析为空白/透明图像的最小数据URI,因此浏览器可以立即解析src并继续(没有错误或网络请求).也许src="data:image/gif;base64,"
会更好?
我正在寻找一个解决方案,供用户使用浏览器的后退按钮,一旦注销就导航到上一页.
我在asp.net中构建了一个Web应用程序,并使用自定义成员资格提供程序进行身份验证和授权.一切正常,除非用户点击退出链接退出应用程序并重定向到默认封面页,如果用户点击浏览器上的BACK BUTTON,它实际上会回到原来的状态.数据仍将显示.
当然,他们无法在该页面上做任何事情,点击任何链接,他们将再次重定向到登录页面.但是显示这些信息会让很多用户感到困惑.
我只是想知道是否有任何方式我可以清除浏览器的历史记录,因此使用不能返回,或者当他们点击后退按钮并让他们重定向到登录页面.
谢谢
如果我将一个include
或require
语句放在一个求值的条件中false
,那么PHP解释器是否会完全跳过包含文件,还是会加载它以防万一?
一个例子是:
if ($some_user_var) {
require 'this.php';
} else {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
我读到了某个地方,require
无论条件如何,翻译都将包含在内,但include
不会.如果是这种情况,只需切换require
到include
可能意味着由于I/O减少和解析开销而导致的免费加速.
如果我正在运行像eAccelerator这样的预处理器,它可能会有所不同,但我们假设我没有.
在O/S选择方面,我认为自己相当通用.我两年前一直使用DOS/Windows PC,两年前将我的主笔记本电脑换成了Mac,并且在为我的Comp.Sci学习时使用了多种版本的Unix/Linux/BSD.学位.
然而,当我正在努力改善我的开发环境时,我开始怀疑我是否会更好地为具有不同O / S风格的PC废弃Macbook(以支持不同的工具和IDE) .
你更喜欢(网络)开发的O/S,为什么?(更喜欢在多个平台上拥有实际编码经验的人的答案)
(注意:我知道这个问题讨论客户端与服务器O/S - 我感兴趣的是整个开发环境,而不仅限于'Windows人群')
尝试从现有DynamoDB表创建Hive表时出现以下错误:
NoViableAltException(88@[])
at org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.identifier(HiveParser_IdentifiersParser.java:9123)
at org.apache.hadoop.hive.ql.parse.HiveParser.identifier(HiveParser.java:30750)
...more stack trace...
FAILED: ParseException line 1:77 cannot recognize input near 'end' 'string' ',' in column specification
Run Code Online (Sandbox Code Playgroud)
查询看起来像这样(简化以保护无辜者):
CREATE EXTERNAL TABLE moveProjects (cid string, end string, category string)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
TBLPROPERTIES ("dynamodb.table.name" = "Projects",
"dynamodb.column.mapping" = "cid:cid,end:end,category:category");
Run Code Online (Sandbox Code Playgroud)
基本上,我正在尝试创建一个包含Projects
DynamoDB表内容的Hive表,但是create语句会从Hive/Hadoop中抛出一个解析错误.
登录网站时会发生什么?
我知道存储cookie和一些信息(什么信息?)被发送到服务器......但也许更详细一些?
我看到术语"八位"在文学弹出约随机数的散列,它似乎是"性格"的代名词,虽然是一种模式的话是如何使用的.
这让我相信两者之间存在正式的区别.如果有人能够告诉我它是什么,我会很感激.
(请不要,关于八进制字符代码或八进制(基数8)数字的讲座;我在谈论名词 '八位字节',而不是形容词)
编辑:事实证明,我正在寻找的词是"八位字节".
有很多用于PHP开发的IDE,但我很好奇所有其他出色的小工具和应用程序以及人们每天使用的网站,以使PHP开发变得更容易.
jQuery的:如何启用timeout
的$.ajax({dataType:'jsonp'...
?有什么解决方案吗?http://jsfiddle.net/laukstein/2wcpU/4
$.ajax({
type:"GET",
url:'http://lab.laukstein.com/ajax-seo/.json',
dataType:'jsonp',
timeout:200, // Not working with dataType:'jsonp'
success:function(data){$('#content').html(data.content);},
error:function(request,status,error){$('#content').html('request failed');}
});
Run Code Online (Sandbox Code Playgroud)
我不喜欢使用一些插件,比如http://code.google.com/p/jquery-jsonp.