当前位置: 首页 > wzjs >正文

厦门做网站seo做了5天游戏推广被抓了

厦门做网站seo,做了5天游戏推广被抓了,房山区文化活动中心有wifi吗,河南做网站哪家好目录 🔐 一、验证码类型与用途 📸 二、图形验证码的原理(Image Captcha) 🔧 核心流程 🛠️ 示例:用 Python Pillow 生成图形验证码 📱 三、数字验证码(短信/邮箱&a…

目录

🔐 一、验证码类型与用途

📸 二、图形验证码的原理(Image Captcha)

🔧 核心流程

🛠️ 示例:用 Python + Pillow 生成图形验证码

📱 三、数字验证码(短信/邮箱)

核心流程:

🎯 四、验证码校验流程

✅ 实战建议

💡 高级扩展建议


验证码是防止机器人或恶意刷接口的常见方式之一。在后端,验证码的生成可以分为文字型、图形型、短信型、邮箱型等,这里我主要讲讲图形验证码和数字验证码的生成逻辑,并举些实用例子。


🔐 一、验证码类型与用途

验证码类型说明常见场景
图形验证码(图片)随机字母数字+干扰线登录、注册、防刷接口
数字验证码(短信/邮箱)4~6 位数字手机验证码、找回密码
滑块验证码拖动滑块完成拼图注册/登录前防刷
点选验证码“请点击所有包含猫的图片”高级反机器人验证

📸 二、图形验证码的原理(Image Captcha)

🔧 核心流程

  1. 生成一段随机文本(如:4~6位字母/数字)

  2. 使用图形库将这段文本画到图像中

  3. 添加干扰元素(线条、噪点等)

  4. 将验证码文本保存到 Redis/session 中

  5. 返回图像(二进制)给前端


🛠️ 示例:用 Python + Pillow 生成图形验证码

安装依赖:

pip install pillow

代码:

# captcha_gen.pyfrom PIL import Image, ImageDraw, ImageFont, ImageFilter
import random
import string
import iodef generate_captcha_text(length=5):return ''.join(random.choices(string.ascii_uppercase + string.digits, k=length))def generate_captcha_image(text):width, height = 120, 40image = Image.new('RGB', (width, height), (255, 255, 255))font = ImageFont.truetype("arial.ttf", 24)draw = ImageDraw.Draw(image)# 写入文字for i, char in enumerate(text):draw.text((10 + i * 20, 8), char, font=font, fill=(random.randint(0,150), 0, 0))# 添加干扰线for _ in range(5):x1, y1 = random.randint(0, width), random.randint(0, height)x2, y2 = random.randint(0, width), random.randint(0, height)draw.line((x1, y1, x2, y2), fill=(0, 0, 0))# 模糊处理(可选)image = image.filter(ImageFilter.EDGE_ENHANCE_MORE)# 转成字节流byte_io = io.BytesIO()image.save(byte_io, 'PNG')byte_io.seek(0)return byte_io

在 Flask 接口中使用:

# app.pyfrom flask import Flask, send_file, session
from captcha_gen import generate_captcha_text, generate_captcha_imageapp = Flask(__name__)
app.secret_key = 'super-secret-key'@app.route('/captcha')
def get_captcha():text = generate_captcha_text()session['captcha'] = text  # 保存验证码内容image = generate_captcha_image(text)return send_file(image, mimetype='image/png')

📱 三、数字验证码(短信/邮箱)

核心流程:

  1. 生成随机 4~6 位数字;

  2. 将验证码保存到 Redis(设置 5 分钟过期);

  3. 使用短信服务(如腾讯云、阿里云)或邮件服务(如 SMTP)发送给用户;

  4. 用户输入后端校验 → 与 Redis 中的验证码比对。

示例:

import random
import redisr = redis.Redis(host='localhost', port=6379)def send_code(phone):code = f"{random.randint(100000, 999999)}"r.setex(f"code:{phone}", 300, code)  # 有效期5分钟print(f"验证码是 {code}(应该发送短信)")

🎯 四、验证码校验流程

用户输入验证码时的处理逻辑:

def verify_code(phone, user_input):real_code = r.get(f"code:{phone}")if not real_code:return "验证码过期"if user_input != real_code.decode():return "验证码错误"return "验证通过"

✅ 实战建议

建议说明
使用 Redis 缓存验证码高性能+过期机制天然适合验证码
控制验证码发送频率每个 IP/手机号冷却 60 秒
设置验证码有效期一般 3~5 分钟
加入图形验证码判断多次请求时才出图形验证码,提升体验
多渠道验证码备选可以邮箱 + 手机切换使用

💡 高级扩展建议

  • 接入腾讯云短信、SendGrid 邮件服务

  • 接入极验(GeeTest)或 reCAPTCHA 滑动验证;

  • 图形验证码 + 人机验证组合,提高安全性;

  • 如果用前端框架,还可以使用base64 图片验证码传输。

http://www.dtcms.com/wzjs/321265.html

相关文章:

  • 网站建设有哪些费用中国今天最新军事新闻
  • 做暧小视频免费网站公司推广方案
  • 大连集团网站建设企业站seo案例分析
  • 网站建网站seo按天计费系统
  • 邯郸招聘信息最新招聘百度运营优化师
  • 做网站策划遇到的问题网站怎么优化自己免费
  • ceac网页设计师证书如何考seo对网店推广的作用有哪些
  • 做液氮冰淇淋店网站自助建站系统哪个好
  • 如何网站建设自己怎么个人网站寰宇seo
  • 公司网站ICP怎么备案呢中国网络推广网站排名
  • 怎么用阿里云做网站百度seo公司哪家强一点
  • 做网站选用什么域名比较好最能打动顾客的十句话
  • 群晖官方WordPress套件seo公司推广宣传
  • 太仓网站开发网站设计制作
  • 用vs做网站的登录免费源码下载网站
  • 自己搭建服务器做网站企业网站的作用有哪些
  • 上海网站设计公司推荐亿企邦新app推广方案
  • 建立网站怎么做软文推广渠道主要有
  • 游戏网站的监管由谁来做产品优化是什么意思
  • 网站头部设计优化seo哪个软件好
  • 网站制作设计收费标准疫情防控最新政策
  • 莒南县网站建设谷歌seo是什么意思
  • 代做网站跳转推广软文
  • 网站建设添加音乐的代码重庆网络推广公司
  • 不做网站只做推广可以么百度代做seo排名
  • 网站的流量检测怎么做站长之家查询域名
  • 网站建设备案方案seo内链优化
  • 网页设计作业成品代码免费青岛网站关键词优化公司
  • 东莞外贸人才网河北seo推广
  • retina wordpress处理事件seo软件