转载自网络
这次的教程内容贴近我擅长的技术方向:安全的contact forms。
就像我在前一篇教程中提到的那样,一个最普通的contact forms可以帮助访客同你进行通信来往而不需要暴露你的电子邮件地址给那些可恶的垃圾邮件制造者们。
但如果spammer们已经盯上你,没有什么比一个不安全的contact foms更糟糕的了。想象一下你的网络空间提供商发给你一封措辞强烈的电子邮件,通知说:他们发现你的网站发送了大批量的性药广告以及其他垃圾邮件,另外,直到你停止这种行为之前,你的网站都将处于离线状态–谢谢!
那么,今天我要在这篇教程里告诉大家的是一种在任何contact forms上添加一个额外安全层的简单方法-即使你没有使用我提供的超级安全、超级灵活的Ultimate Form Mail。
当前状况
你意识到spammer们已经通过远程探测技术发现了你的contact forms的弱点,而你希望他们走开。
难点
你不想使用CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart),因为你明白,让你的访客先去阅读那些歪七扭八的字母数字才能发送消息只能抑制他们想要互动的欲望,而不是促进它。(数字验证的缺陷)
关键点:你希望那些坏家伙们堵车到天黑,同时希望那些好孩子们一条大道通罗马。
解决方案
你将学会在页面加载的时候使用jQuery来给你的contact forms添加一些隐藏的标签信息。当窗体信息被提交到服务器端的时候,你可以用一些简单的php代码实现如下的步骤:
隐藏的标签被识别出来 隐藏标签的信息与你的网站访客下载到浏览器上的cookie里的某项标志相一致 隐藏标签的有效时间还未过期 换句话说,你的访客们只有在一段有限的时间内才可以填写窗体并进行发送。如果一个spammer尝试通过远程调用来提交窗体信息到你的服务器,他们将会发现自己踢到了一块又厚又硬的铁板,不付出点代价休想通过。
我将要告诉你的这种方法是从一位非常聪明的同事Chris Shiflett提供的蓝本基础上修改而成的。他是位专业的安全专家,对php程序员经常遇到的安全问题了如指掌(我怎么感觉他又要忍不住提到他的Ultimate Form Mail 了~~汗)。
教程
基于上次那篇《斑马线表格轻松制作》的反响良好,我决定再次制作一次类似的“手把手图文教程”。虽然要花费些时间,但很值得这么做。
手把手教程
DEMO
源代码
银弹?1)
银弹是软件领域的说法,意为解决一切问题的方法。这个来源于欧洲的传说,说是只有银弹可以消灭狼人。
“那么,现在我的窗体就是100%安全的,可以假设任何免费的cntact forms程序,然后高枕无忧了?”
呃。。。非也。
这种安全模式基于一个关键的假定:Spammer们总是会拿软柿子捏,浪费时间去解决一个狡猾的对手对他们来说就是浪费金钱。
现在, 好好听着,我的朋友们:
这个技术,尽管相当健壮,但仍然不是解决目前脆弱的窗体处理程序问题的灵丹妙药。
我的这些安全建议的目的是为了让spammer们知难而退。小偷们入室之前总会进行仔细踩点,他们只对那些可以用最小代价获取最大利益的房间感兴趣。
换句话说,如果在他们动手之前有99%的机会挡住他们的试探,而且实现起来相当容易,为什么不试一试呢?这才是此项技术要实现的目标。
但这还是治标不治本,不能解决所有问题。
分享到:
相关推荐
赠送jar包:captcha-1.3.0.jar; 赠送原API文档:captcha-1.3.0-javadoc.jar; 赠送源代码:captcha-1.3.0-sources.jar; 赠送Maven依赖信息文件:captcha-1.3.0.pom; 包含翻译后的API文档:captcha-1.3.0-javadoc-...
AJ-Captcha行为验证码是一款用于网站安全验证的工具,版本为1.3.0。这款验证码系统旨在防止自动化脚本或机器人进行恶意操作,如垃圾邮件发送、账户注册、恶意登录等。它通过检测用户在输入验证码时的行为模式来判断...
本源码提供了一个基于Javascript的行为验证码AJ-Captcha设计。项目包含1645个文件,其中包括343个PNG图片、241个PHP文件、139个Swift文件、93个JavaScript文件、88个H文件、80个M文件、72个XML文件、69个Java文件、...
<artifactId>tianai-captcha-springboot-starter <version>1.4.1 注解版风格 package cloud.tianai.captcha.readme; import cloud.tianai.captcha.spring.annotation.Captcha; import cloud.tianai.captcha....
行为验证码AJ-Captcha 1.3.0是一种用于网络安全验证的解决方案,旨在防止自动化脚本或机器人进行恶意操作。此版本提供了丰富的功能和多种平台的支持,包括前后端交互,以及前端框架如Vue.js、H5、Android、iOS、...
赠送jar包:captcha-core-2.2.1.jar; 赠送原API文档:captcha-core-2.2.1-javadoc.jar; 赠送源代码:captcha-core-2.2.1-sources.jar; 赠送Maven依赖信息文件:captcha-core-2.2.1.pom; 包含翻译后的API文档:...
赠送jar包:captcha-core-2.2.1.jar; 赠送原API文档:captcha-core-2.2.1-javadoc.jar; 赠送源代码:captcha-core-2.2.1-sources.jar; 赠送Maven依赖信息文件:captcha-core-2.2.1.pom; 包含翻译后的API文档:...
Vue3-Captcha是一款专为Vue3框架设计的行为验证码插件,旨在提高网站的安全性,防止自动化脚本或机器人进行恶意操作。Vue3是Vue.js框架的最新版本,它引入了许多性能优化和开发体验改进,包括Composition API、...
在"anji-plus-AJ-Captcha-Images-master.zip"这个压缩包中,包含了实现滑动验证码的Java后端代码,该代码支持Vue、iOS、安卓以及小程序等多个平台的使用。接下来,我们将深入探讨其背后的技术原理和实现细节。 首先...
字母+数字验证码jar包
在现代Web开发中,验证码(CAPTCHA)是一种常用的安全机制,用于防止自动化的机器人或恶意软件进行非法操作。`svg-captcha`是一个专为前端设计的开源库,它允许开发者在Node.js或基于Express.js的环境中生成SVG格式...
本集成教程将详细介绍如何在项目中使用aj-captcha库来实现滑块验证码功能,特别适用于基于若依前后端分离架构的应用。 首先,aj-captcha是一个专门用于生成滑块验证码的JavaScript库,它提供了一种动态、直观的方式...
()(java)vue/h5/Android/IOS/flutter/uni-app/react/php/go/ java java java java java
// Change configuration...//$captcha->wordsFile = null; // Disable dictionary words//$captcha->wordsFile = 'words/es.txt'; // Enable spanish words//$captcha->session_var = 'secretword'; // Change ...
基于Java的tianai-captcha行为验证码设计源码,该项目包含90个文件,主要文件类型有63个java源文件,以及20个png图像文件。此外,还包括2个jpg图像文件,1个gitignore文件用于版本控制,1个LICENSE许可文件,以及1个...
与传统的OCR技术相比,OCR-for-Captcha具有更高的识别准确率和鲁棒性,能够有效地应对图像验证码的复杂性和多变性。OCR-for-Captcha技术的应用范围广泛,可以与各种网站和应用程序集成,自动识别和提取图像验证码中...
在IT行业中,验证码是一种用于验证用户身份的安全机制,它防止自动化程序(如机器人)执行恶意操作,例如垃圾邮件提交或未经授权的数据抓取。jQuery是一种广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画...
AJ-Captcha行为验证码,包含滑动拼图、文字点选两种方式,UI支持弹出和嵌入两种方式。后端提供Java实现,前端提供了php、angular、html、vue、uni-app、flutter、android、ios等代码示例。
Burp suite图形验证码插件 注:需要配合验证码识别接口可用,本插件仅提供转发功能,不提供验证码识别