Questions tagged «detection»

30
阻止脚本编写者抨击您的网站
Наэтотвопросестьответына 堆栈溢出нарусском:Какустроитьловушкудляхакера,илидостойноотбиватьатаки? 我已经接受了答案,但可悲的是,我相信我们会坚持我们最初的最坏情况:每个人都在尝试购买废话。简短说明:缓存/ Web场使无法跟踪命中,并且任何解决方法(发送非缓存的Web信标,写入统一表等)都会使网站的速度比僵尸程序慢。思科提供的一些昂贵的硬件或类似产品可能可以提供较高的帮助,但是如果将每个人都验证码作为替代方案,则很难证明其成本合理。稍后,我将尝试进行更详细的解释,并为以后的搜索者进行清理(尽管欢迎其他人尝试,因为它是社区Wiki)。 情况 这与woot.com上的垃圾袋销售有关。我是Woot Workshop的总裁,该工作室是Woot的子公司,负责设计,撰写产品说明,播客,博客文章并主持论坛。我使用CSS / HTML,几乎不熟悉其他技术。我与开发人员紧密合作,并在这里讨论了所有答案(以及我们已有的许多其他想法)。 可用性是我工作的重要部分,而使网站令人兴奋和有趣则是其余的大部分。这就是以下三个目标的来源。CAPTCHA损害了可用性,并且机器人从我们的垃圾销售中窃取了乐趣和兴奋。 僵尸程序在第二次屏幕抓取(和/或扫描我们的RSS)以随机垃圾销售的形式猛烈抨击了我们的首页。他们看到的那一刻,它触发程序的第二阶段登录,单击“我想要的”,填写表格,然后购买废话。 评价 lc:在stackoverflow和其他使用此方法的站点上,它们几乎总是与经过身份验证(登录)的用户打交道,因为尝试执行的任务需要这样做。 在Woot上,匿名(未登录)用户可以查看我们的主页。换句话说,砰砰机器人可以是未经身份验证的(除了IP地址之外,基本上是不可跟踪的)。 因此,我们将返回到IP扫描,a)在这个云网络和垃圾邮件僵尸时代,这是相当无用的; b)鉴于来自一个IP地址的企业数量,捕获了太多的无辜者(更不用说与之相关的问题了)非静态IP ISP和潜在的性能损失,以试图对此进行跟踪)。 哦,让人们打电话给我们将是最糟糕的情况。我们可以让他们给您打电话吗? BradC:Ned Batchelder的方法看起来很酷,但是它们的设计很牢固,可以击败为站点网络构建的机器人。我们的问题是机器人是专门为打败我们的网站而建造的。这些方法中的某些方法可能会在短时间内起作用,直到脚本编写者发展他们的机器人以忽略蜜罐,对附近的标签名称(而不是表单ID)进行屏幕抓取,并使用具有javascript功能的浏览器控件。 lc再一次:“当然,除非炒作是您的营销计划的一部分。” 是的,肯定是。物品出现的惊奇程度,以及设法获得一件物品的兴奋程度,可能与最终得到的废话一样重要或更重要。消除先到先得的一切都会不利于赢得“垃圾”的快感。 novatrust:我首先欢迎我们的新机器人霸主。实际上,我们确实提供RSSfeed,以允许第三方应用程序扫描我们的网站上的产品信息,但不能扫描主要网站的HTML。如果我的解释正确,那么您的解决方案确实会通过完全牺牲目标1来解决目标2(性能问题),而只是放弃了机器人将购买大部分废品的事实。我赞成您的回答,因为您的最后一段悲观主义对我来说很准确。这里似乎没有银弹。 其余的响应通常依赖于IP跟踪,这再次显得既无用(对于僵尸网络/僵尸网络/云网络)又有害(捕获来自相同IP目的地的许多无辜者)。 还有其他方法/想法吗?我的开发人员一直在说“让我们做CAPTCHA”,但我希望对想要我们的一些废话的所有实际人来说,侵入性方法要少一些。 原始问题 假设您要出售的东西具有很高的感知价值,而价格却非常有限。没有人确切知道您何时会出售该物品。经常有超过一百万的人过来看看您要卖的东西。 您最终会遇到脚本编写者和机器人程序,他们试图以编程方式[a]弄清楚您何时出售该商品,[b]确保它们是第一个购买该商品的人。这很烂,原因有两个: 您的网站遭到非人类的猛烈抨击,使所有人的工作速度减慢。 脚本编写者最终“赢得”了产品,使常客感到被骗。 一个看似显而易见的解决方案是在下订单之前为用户创建一些跳转,但是这至少存在三个问题: 用户体验很糟糕,因为他们必须破译CAPTCHA,挑选猫或解决数学问题。 如果感觉到的好处足够高,而人群又足够多,那么一些人就会在任何调整中找到自己的出路,导致军备竞赛。(特别简单的调整是正确的;隐藏的“注释”表单,重新排列表单元素,给它们贴错标签,隐藏的“陷阱”文本都将一次起作用,然后需要进行更改以针对此特定表单进行战斗) 即使脚本编写者无法“解决”您的调整,也不会阻止他们猛击您的首页,然后发出警报,要求脚本编写者手动填写订单。如果他们从解决[a]中获得优势,他们将很可能仍然会赢得[b],因为他们将是第一个进入订单页面的人。此外,1.仍然会发生,导致服务器错误并降低每个人的性能。 另一个解决方案是监视IP击中次数过多,将其从防火墙中阻止或以其他方式阻止其排序。这可以解决2.并防止[b],但是扫描IP会对性能造成巨大影响,并且可能比脚本编写者自己引起的问题更多,例如1.。此外,云网络和垃圾邮件僵尸的可能性使IP检查变得毫无用处。 第三个想法,迫使订单被加载一段时间(例如半秒钟),可能会减慢快速订单的进度,但是同样,脚本编写者仍然是第一批加入该订单的人,无论以何种速度都不会实际用户。 目标 将该项目出售给没有脚本的人。 保持网站的运行速度不受机器人的影响。 不要为了完成“正常”用户的任务而烦恼他们,以证明他们是人类。

26
如何在所有现代浏览器中检测页面缩放级别?
如何在所有现代浏览器中检测页面缩放级别?尽管此线程说明了如何在IE7和IE8中执行此操作,但我找不到很好的跨浏览器解决方案。 Firefox存储页面缩放级别以供将来访问。在首页加载时,我能否获得缩放级别?加载页面后发生缩放更改时,我在某处阅读过它可以工作。 有没有办法捕获'zoom'事件? 我需要这样做,因为我的一些计算是基于像素的,并且缩放时它们可能会波动。 @tfl给定的修改样本 缩放时,此页面会提示不同的高度值。[jsFiddle] <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type="text/javascript"/></script> </head> <body> <div id="xy" style="border:1px solid #f00; width:100px;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque sollicitudin tortor in lacus tincidunt volutpat. Integer dignissim imperdiet mollis. Suspendisse quis tortor velit, placerat tempor neque. Cum sociis natoque penatibus et magnis …

14
如何检测网线/连接器的物理连接状态?
在Linux环境中,我需要检测RJ45连接器与其插槽的物理连接或断开连接状态。最好仅使用BASH脚本。 以下在其他站点上提出的解决方案不适用于此目的: 使用“ ifconfig”-由于可以连接网络电缆,但是网络配置不正确或当前未启动。 ping主机-因为产品将使用未知的网络配置和未知的主机位于LAN内。 在/ proc文件系统中没有可用的某种状态(其他所有文件都在其中)吗? Linux世界应该如何在图标托盘中弹出自己的Windows气泡版本,以表明您刚刚拔下网络电缆? 肯特·弗雷德里克(Kent Fredric)和洛萨(lothar),您的回答都满足了我的需求……非常感谢!我会用哪一个...我还是不知道。 我想我不能把你们俩都当成正确的答案吗?我选择其中一种可能对您很公平。我猜是掷硬币吗?再次感谢!




6
检测CPU架构的编译时间
编译C或C ++代码时找出CPU体系结构的最可靠方法是什么?据我所知,不同的编译器有自己的一组非标准预处理器定义(_M_X86在MSVS中__i386__,__arm__在GCC中等)。 有没有检测我要构建的体系结构的标准方法?如果不是,是否有针对各种编译器的此类定义的完整列表的来源,例如带有所有样板文件的标头#ifdef?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.