المشروع
اختبر حالة الحروف وتجاهل المسارات وارفض بيانات الدخول وعناوين IP والمسافات والمنافذ خارج 1–65535.
قارن أصول HTTPS لأسماء DNS بحروف ASCII ولواحق أبجدية ومنفذ افتراضي 443.
import re
from urllib.parse import urlsplit
def https_origin(url):
if type(url) is not str or any(not 33 <= ord(c) <= 126 for c in url):
raise ValueError("origin.text")
p = urlsplit(url)
if p.scheme.lower() != "https" or p.username is not None or p.password is not None:
raise ValueError("origin.scheme")
host = p.hostname or ""
labels = host.lower().split(".")
if len(labels) < 2 or not re.fullmatch(r"[a-z]{2,63}", labels[-1]):
raise ValueError("origin.dns")
if any(not re.fullmatch(r"[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?", x) for x in labels):
raise ValueError("origin.label")
if len(host) > 253 or p.netloc.endswith(":") or "\\" in url:
raise ValueError("origin.authority")
port = p.port if p.port is not None else 443
if not 1 <= port <= 65535:
raise ValueError("origin.port")
return ("https", host.lower(), port)
def same_origin(a, b):
return https_origin(a) == https_origin(b)اختبر حالة الحروف وتجاهل المسارات وارفض بيانات الدخول وعناوين IP والمسافات والمنافذ خارج 1–65535.
قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
import re
from urllib.parse import urlsplit
def https_origin(url):
if type(url) is not str or any(not 33 <= ord(c) <= 126 for c in url):
raise ValueError("origin.text")
p = urlsplit(url)
if p.scheme.lower() != "https" or p.username is not None or p.password is not None:
raise ValueError("origin.scheme")
host = p.hostname or ""
labels = host.lower().split(".")
if len(labels) < 2 or not re.fullmatch(r"[a-z]{2,63}", labels[-1]):
raise ValueError("origin.dns")
if any(not re.fullmatch(r"[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?", x) for x in labels):
raise ValueError("origin.label")
if len(host) > 253 or p.netloc.endswith(":") or "\\" in url:
raise ValueError("origin.authority")
port = p.port if p.port is not None else 443
if not 1 <= port <= 65535:
raise ValueError("origin.port")
return ("https", host.lower(), port)
def same_origin(a, b):
return https_origin(a) == https_origin(b)يمنح Orivelle مطوري التطبيقات مساحة برمجة بالذكاء الاصطناعي على Windows لفحص القرارات عند حدود المدخلات. افتح المشروع وصف المدخلات التي يجب قبولها أو رفضها أو اعتبارها متكافئة. اطلب من النموذج فحص التنفيذ الحالي قبل تغيير قاعدة، خصوصا عندما يعتمد الكود المحيط على تفسير ضيق.
المقارنة المقيدة لأصول HTTPS طلب عملي. قدم أمثلة بمنافذ صريحة وافتراضية وأسماء مضيفين مختلطة حالة الأحرف ومدخلات خارج المجموعة المقبولة. اسأل كيف يعالجها الكود الحالي وما النتيجة التي ينبغي أن يتلقاها المستدعي. يربط ذلك النقاش بسياسة تطبيقك بدلا من قاعدة عامة مفترضة لعناوين URL.
راجع المقترح من حيث التطبيع وسلوك الرفض معا. قد يوسع قبول شكل مرفوض سابقا العقد حتى لو بدت المقارنة أنظف. شغل اختبارات مشروعك وافحص مواضع الاستدعاء التي تعتمد على التطابق، بما فيها الاستجابة بعد مدخل مشوه. أبق المجموعة المقبولة موثقة بجانب التعديل.
يتصل Orivelle بنقاط نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic، باستخدام بيانات الاعتماد عند الحاجة. يمكن اختيار نموذج أزيلت منه آليات التقييد إذا أتاحته نقطة نهايتك. يحدد النموذج والخادم الأدوات وحدود السياق والقيود المتبقية؛ ولا يصادق الوصف على قرارات الأمان أو يحل محل مراجعة الكود الذي تنوي استخدامه.
التحليل وقبول التطبيق قراران منفصلان. استخدم المحلل للحصول على المكونات، ثم راجع المخططات وأشكال المضيف التي يسمح بها كودك. اطلب من النموذج تحديد مواضع تطبيق القواعد بدلا من افتراض أن نجاح التحليل يعني القبول.
نعم. قد تصلح إعادة الكتابة قيما رفضها الكود القديم أو تعيد تفسيرها. أدرج حالات مرفوضة بجانب المقبولة المتكافئة وافحص استجابة المستدعي. قرر صراحة ما إذا كان أي شكل مقبول حديثا ينتمي إلى عقد التطبيق.
لا. تعالج المقارنة الموضحة هنا قاعدة الأصل في كودك. لا تثبت موثوقية خدمة بعيدة أو أمان طلب لاحق. راجع المتطلبات المنفصلة حيث يجري تطبيقك ذلك الطلب.
فضل أسماء مضيفين اصطناعية واحذف بيانات الاعتماد إلا إذا كانت ضرورية لحالة رفض. راجع وجهات نقاط النهاية والأدوات. لا يجعل خادم نموذج محلي يعمل منفصلا كل أداة متصلة محلية، بما فيها أدوات فحص عناوين URL.
Orivelle · آخر تحديث 2026-10-25