LoFive:小型RISC-V微控制器板
第一滴长生不老药
使用Jest和Enzyme在React中测试嵌套组件
$的价值
继承atau Pewarisan Pada PHP
我如何获得生物学学位的Hack Reactor
Ruby On Rails的生物特征认证(用于Web服务)
Ruby On Rails的生物特征认证(用于Web服务)

Ruby On Rails(通常简称为Rails)是一个功能强大的跨平台软件框架,广泛用于开发Web应用程序。 难道它也是实现各种形式的生物特征认证的合适平台? 随着时间的流逝,生物识别技术越来越普遍地用于验证用户身份,将这种形式的身份验证集成到基于Web的产品中变得越来越重要。 今天,我们将探讨利用Rails进行生物特征认证的可行性,以及在执行此任务时要记住的一些其他注意事项。 关于生物识别的一些注意事项 为了正确地探索这个想法,我们首先需要阐明“生物认证”的含义。简言之,生物认证是指依赖于生物输入(用户的某些部分的使用)的用户识别/验证过程。身体)。 这不同于基于知识的身份验证(例如,当用户必须输入密码或类似的信息才能访问系统时)和基于属性的身份验证(例如,当用户必须依靠钥匙卡或其他对象来获得访问权限)时。 生物特征认证的一般优势 尽管存在一些缺点,但是使用生物特征认证的优点仍然很多。 首先,生物特征认证被认为是当前可用的最有效的认证形式之一。 这是由于生物成分。 独特的,可识别的物理特征使其很难被欺骗,并且身份验证所涉及的技术(指纹扫描仪,面部识别等)非常准确。 生物识别范例 生物识别标记的一些示例将包括上述指纹和完整的面部,但也可能包括人眼,声音甚至手部几何形状。 每种生物特征认证方法都具有其自己的独特优点和缺点(例如,某些眼睛扫描仪可能会被用户面部/眼睛的高质量照片所欺骗)。 总的来说,这些形式的生物特征认证受到称赞,并已融入越来越多的技术中。 从智能手机和笔记本电脑之类的硬件到Web应用程序和服务之类的软件,近年来,对生物识别技术的需求不断增长,并且随着实施这种身份验证方法的手段在更广泛的范围内变得更加实惠和可靠,这种需求可能会继续增长。 。 生物识别和网络服务 将此类技术用于Web服务的好处显而易见。 当Web产品与高度的信息安全性结合在一起时,Web产品的质量和可靠性将得到提高,这正是生物认证提供的。 通过确保Web服务的用户是他们声称的身份,个人数据受到保护,并减少了盗窃或滥用所述数据所涉及的风险。 生物识别技术使潜在的入侵者更难收集绕过安全措施所需的信息,从而提高了安全性。 为了有希望从目标收集生物识别数据的希望,它们必须在物理上接近,使他们更有可能被发现。 如果绕过了生物识别系统,则潜在犯罪嫌疑人的范围仅限于可以个人访问用户的人,这使得将其范围缩小的过程更加容易。 但是,除了增强的安全级别外,生物特征认证系统还为那些使用基于Web的平台的用户提供了更高的易用性。 就像智能手机上的指纹扫描仪和面部识别允许所有者快速安全地访问其设备一样,相同的原理也适用于使用Web应用程序。 用户可以依靠自己的生物学来获取所需的系统和服务,而不必使用冗长的密码(也许会忘记)。 替代地,它可以用作补充认证因素,而不是唯一的。 除了密码或一些类似的基于知识的身份验证外,最终用户还可能输入其生物识别信息作为附加安全层,这使入侵者更难于将其诈骗进入系统。 Ruby On Rails发挥作用的地方 那么,Ruby On Rails如何适合这张图片? 生物特征识别功能已经融合到Web应用程序中,以提供所需的安全性。 例如,也许您想通过网络摄像头或指纹扫描功能或生物识别系统的组合来实现某种面部识别,以允许用户访问您的在线平台。 您需要创建允许进行上述集成的代码。 Rails是一个框架,为开发此任务所需的代码提供了一个这样的选项。 再以指纹扫描为例,Rails可以用于创建一个系统,其中最终用户可以通过指纹读取器注册其指纹信息,然后将其归档以访问特定的Web应用程序。 通过互联网,最终用户的生物识别输入由识别/认证服务器读取,该服务器可以访问注册用户的数据库。 可以说,如果他们“在名单上”,那么他们将获得授权,并且可以从事他们打算做的任何事情。 这可能是某种授权系统,但也可以用于交易系统(用户要访问货币帐户的网络平台),销售点(可以在线购买商品的销售点)甚至时间和出勤情况系统(记录他们何时何地工作)。 请注意,生物特征认证的用途并不严格限于这些选项,但它们是一些最普遍的示例,并提供了如何最常使用这种身份验证的可靠示例。 生物特征输入的形式也不必仅限于指纹。 如前所述,它也可能采取面部识别,语音识别,对用户键盘输入进行生物特征分析等形式。由于Rails是Web开发的流行框架,特别是在需要更高复杂性的情况下。 它的速度,模块化(可以集成各种第三方解决方案)以及允许向Web应用程序添加功能(例如生物特征认证)的能力使其成为希望将这种身份验证纳入其应用程序的人的合适选择。网络产品。 要考虑的挑战 仅仅因为有可能,并不意味着这对任何人来说都是一个简单的壮举。 尝试通过Web应用程序实施生物特征认证时,要记住一些复杂性。 即,找到一种解决方案,该解决方案将与无数的生物特征读取器,扫描仪以及其他用于捕获生物特征输入的外围设备正确连接。 除其他事项外,可能还要确保此类输入(以及存储最终用户数据的数据库)的安全。 […]

KWoC’18 | 项目报告
KWoC’18 | 项目报告

关于科华 KWoC — Kharagpur代码冬季课程是为期5周的在线课程,面向刚接触开源软件开发的学生。 KWoC由Kharagpur开源协会(KOSS),IIT Kharagpur组织。 KWoC为导师提供了一个平台,供其开设对初学者友好的开源项目,并为学生提供编程和构建编程技能的平台。该平台是远程执行的,大部分代码都托管在GitHub上。 选择项目 这些项目和导师于12月1日向学生开放。 网站上提供的所有项目都非常有趣。 我想为每个人都做出贡献,但是我意识到,为了学习某些东西,我可能不得不选择一个项目并尽力做到最好。 我选择了BALL SACKER ,该项目的指导者是Arnav Tiwari 。 它是在OpenCV中创建的自上而下的2d游戏,OpenCV可能根本不适合创建游戏,但它为我提供了一个机会,可以根据我们的需要更改为完全不同的工作负载实现的软件。 我自己是一名游戏玩家,也激发了我选择项目的兴趣。 因为我们可以实际可视化代码,并且在为项目学习时也很有趣。 我的经验 KWoC为我提供了一个将我的语言技能应用到实际应用程序中的机会,任何编程知识为零的人都可以将其可视化。 对项目BALL SACKER感兴趣,我立即克隆了存储库并尝试运行初始代码,以查看发生什至在我向指导者发送邮件之前,我想为该项目做出贡献的情况。 发现该代码不起作用后,我通过电子邮件发送了我的导师,并尝试修复该代码,这就是我在12月1日自己在GitHub上进行第一个非常简单的Pull Request的方式。 从那时起,我尽我最大的努力跟上工作并为该项目做出贡献。 我的许多提交未显示在统计信息表中,因为它是在12月5日之前完成的,尽管我知道我的提交不会在该表中显示,但我仍然对代码有所贡献,因为我真的很想在代码表上工作。项目。 我遇到了问题,并在聊天论坛中适当地问了他们,​​我的导师在这里澄清了所有问题。 无论我在哪里遇到问题,我都会查看有关Interent的教程,仔细研究问题并思考,直到我对实现功能或解决问题有了正确的想法。 总体而言,KWoC帮助我学习了OpenCV,也使我对开放源代码的工作方式有了深刻的了解。 我在KWoC方面确实有一个有趣且知识丰富的经验,我希望有更多的机会,因为这些机会将使学生为开源做出积极的贡献。 合并公关 1.将’nullptr’更改为’NULL’ 在我的第一个PR中,我将代码中的所有预设“ nullptr”更改为“ NULL”,因为编译器无法检测到“ nullptr”。 用Ishan1742将’nullptr’替换为’NULL’·拉取请求#18·arnav-t /射击游戏 更改Makefile以在Ubuntu 16.04 KWoC github.com中运行 当我得到我的第一个LGTM并合并我的提交时,这非常令人满足。 最终,游戏在初始阶段至少开始工作。 2.将FrameRate锁定为60 fps 最初,我尝试将时间延迟增加固定数量,以使代码以60 fps的速度运行。 关于在我的硬件中以0 fps运行的某些东西在其他硬件中可能无法以60 fps运行的想法是错误的,因此我必须设置delay变量以解决此问题。 为了测试代码,我必须编写自己的函数(用作fps计数器)并将其打印在控制台上。 感谢StackOverflow😜为我提供了有关如何创建自己的fps计数器的信息。 通过Ishan1742将帧速率锁定为60 […]

沉思于Python的禅宗
沉思于Python的禅宗

Python以其简单性和强大功能而广为人知。 俗称“代码就是文档”的说法比Python更真实。 但是,与所有事物一样,如果您真的尝试过,最简单的事情可能会变得复杂。 因此,几乎没有任何理由将责任归咎于该语言或其创造者。 我最喜欢Python的一件事是“模式模式”的丰富文化(请参见HelloWorld.java企业版)。 通常,如果一年后我无法回到原先的状态,或者不立即得到应做的事情,我通常不会创建或使用某些东西。 有些人以无法直接解释结果的方式或上下文编写代码而感到自豪。 也许他们是博士学位毕业生,也许留着长胡子,或者只是不知道自己在做什么。 可读性在Python语言中是如此重要,甚至是规范(PEP20)的一部分: 美丽胜于丑陋。 显式胜于隐式。 简单胜于复杂。 复杂胜于复杂。 扁平比嵌套更好。 稀疏胜于密集。 可读性很重要。 特殊情况不足以违反规则。 尽管实用性胜过纯度。 错误绝不能默默传递。 除非明确地保持沉默。 面对模棱两可的想法,拒绝猜测的诱惑。 应该有一种(最好只有一种)明显的方式来做到这一点。 尽管除非您是荷兰人,否则一开始这种方式可能并不明显。 现在总比没有好。 尽管从来没有比现在“正确”好。 如果实现难以解释,那是个坏主意。 如果实现易于解释,则可能是个好主意。 命名空间是一个很棒的主意-让我们做更多这些吧! 更不用说关于“空格与制表符”的备受争议的话题了,唯一一个结束了比政治更多的友谊和关系的话题,而“狗与猫”的结局是一起完成的(需要引用)。 但是,PEP8样式指南显然偏爱空格而不是制表符。 我完全同意。 制表符的宽度是格式问题,与行距一样,也是代码的一部分……并且不要一次走8步台阶😉 我认为归结为找到一种最适合我们的语言。 这与识别我们的精神动物没有太大的不同。 在这种情况下,Python适用于这两种情况。 我的精神语言是Python:复杂但不复杂,友好而强大。 在彼此之间保持Python风格!