/** * ══════════════════════════════════════════════════════ * مثال التحقق من التوكن في الخادم الخلفي (Node.js) * SkyGuard CAPTCHA — Server-Side Token Verification * ══════════════════════════════════════════════════════ * * تثبيت المتطلبات: * npm install express axios * * تشغيل: * node server-verify-example.js */ const express = require("express"); const axios = require("axios"); const app = express(); app.use(express.json()); // ── الإعدادات ────────────────────────────────────────── const SKYGUARD_SPACE_URL = "https://YOUR_USERNAME-skyguard-captcha.hf.space"; // ── التحقق من captchaToken القادم من الواجهة الأمامية ── async function verifyCaptchaToken(token) { try { const url = `${SKYGUARD_SPACE_URL}/api/verify?token=${encodeURIComponent(token)}`; const res = await axios.get(url, { timeout: 5000 }); return res.data.valid === true; } catch (err) { console.error("[SkyGuard] Verification error:", err.message); return false; // في حالة الفشل، ارفض الطلب } } // ── مثال: حماية نقطة نهاية ──────────────────────────── app.post("/api/submit-form", async (req, res) => { const { captchaToken, name, email, message } = req.body; // 1) تحقق من وجود التوكن if (!captchaToken) { return res.status(400).json({ error: "captcha_required" }); } // 2) تحقق من صحة التوكن عبر SkyGuard API const valid = await verifyCaptchaToken(captchaToken); if (!valid) { return res.status(403).json({ error: "captcha_invalid_or_expired" }); } // 3) التوكن صحيح — نفّذ المنطق الأصلي console.log("✅ CAPTCHA verified! Processing form:", { name, email }); res.json({ success: true, message: "تم إرسال النموذج بنجاح" }); }); // ── مثال: حماية نقطة تسجيل الدخول ─────────────────── app.post("/api/login", async (req, res) => { const { username, password, captchaToken } = req.body; if (!captchaToken) { return res.status(400).json({ error: "captcha_required" }); } const valid = await verifyCaptchaToken(captchaToken); if (!valid) { return res.status(403).json({ error: "captcha_failed" }); } // ← هنا منطق تسجيل الدخول الخاص بك console.log("Login attempt by:", username); res.json({ success: true }); }); // ── مثال: Middleware قابل لإعادة الاستخدام ──────────── async function requireCaptcha(req, res, next) { const token = req.body?.captchaToken || req.query?.captchaToken || req.headers["x-captcha-token"]; if (!token) { return res.status(400).json({ error: "captcha_token_missing" }); } const valid = await verifyCaptchaToken(token); if (!valid) { return res.status(403).json({ error: "captcha_verification_failed" }); } next(); } // استخدام الـ middleware app.post("/api/register", requireCaptcha, (req, res) => { res.json({ success: true, message: "تم تسجيل الحساب بنجاح" }); }); app.post("/api/contact", requireCaptcha, (req, res) => { res.json({ success: true, message: "تم إرسال رسالتك" }); }); // ── تشغيل الخادم ──────────────────────────────────── app.listen(3000, () => { console.log("✅ Server running at http://localhost:3000"); console.log("🔗 SkyGuard Space:", SKYGUARD_SPACE_URL); }); /** * ══════════════════════════════════════════════════════ * مثال PHP (إذا كنت تستخدم PHP) * ══════════════════════════════════════════════════════ 'captcha_failed'])); } // ✅ متابعة المنطق الأصلي... } ?> */ /** * ══════════════════════════════════════════════════════ * مثال Python (Flask/Django) * ══════════════════════════════════════════════════════ import requests SKYGUARD_URL = "https://YOUR_USERNAME-skyguard-captcha.hf.space" def verify_skyguard(token: str) -> bool: try: r = requests.get( f"{SKYGUARD_URL}/api/verify", params={"token": token}, timeout=5 ) return r.json().get("valid") is True except Exception: return False # Flask مثال: from flask import Flask, request, jsonify app = Flask(__name__) @app.route("/submit", methods=["POST"]) def submit(): token = request.json.get("captchaToken", "") if not verify_skyguard(token): return jsonify({"error": "captcha_failed"}), 403 # ✅ متابعة... return jsonify({"success": True}) */