OOrivelle
AI-werkruimte voor code

Beperkte vergelijking van HTTPS-origins

Vergelijk HTTPS-origins met ASCII-DNS-namen, alfabetische achtervoegsels en standaardpoort 443.

● ● ●Orivelle●
Werkprocessen · Beperkte vergelijking van HTTPS-origins ×
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)
✳Beperkte vergelijking van HTTPS-origins
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
01

Project

Test hoofdletters en negeer paden, weiger inloggegevens, IP-literals, witruimte en poorten buiten 1–65535.

02

Controleer vóór het toepassen

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

03

Modellen

Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

Werkprocessen

Beperkte vergelijking van HTTPS-origins

Werkprocessen ↗
Werkprocessen
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)
AI-werkruimte voor code

Houd URL-acceptatie en originbeslissingen expliciet

Orivelle biedt toepassingsontwikkelaars een Windows-programmeerwerkruimte met AI om beslissingen bij invoergrenzen te onderzoeken. Open het project en beschrijf welke invoer moet worden geaccepteerd, afgewezen of als gelijkwaardig beschouwd. Laat het model de huidige implementatie inspecteren voordat een regel verandert, vooral als omliggende code op een beperkte interpretatie vertrouwt.

Een beperkte vergelijking van HTTPS-origins is een praktisch verzoek. Geef voorbeelden met expliciete en standaardpoorten, hostnamen met gemengde hoofdletters en invoer buiten de toegestane deelverzameling. Vraag hoe de huidige code die afhandelt en welk resultaat de aanroepende code moet ontvangen. Zo blijft het gesprek verbonden met uw toepassingsbeleid in plaats van een veronderstelde universele URL-regel.

Beoordeel het voorstel op zowel normalisatie- als afwijzingsgedrag. Een eerder afgewezen vorm accepteren kan het contract verruimen, ook wanneer de vergelijking netter lijkt. Voer uw projecttests uit en inspecteer de aanroeppunten die op een overeenkomst vertrouwen, inclusief de reactie op onjuist gevormde invoer. Houd de toegestane deelverzameling naast de wijziging gedocumenteerd.

Orivelle maakt verbinding met ondersteunde OpenAI-compatibele of Anthropic-eindpunten, met inloggegevens waar nodig. Een abliterated AI-model kan worden gekozen als uw eindpunt het aanbiedt. Het model en de server bepalen hulpmiddelen, contextlimieten en resterende beperkingen; het label certificeert geen beveiligingsbeslissingen en vervangt geen beoordeling van de code die u wilt gebruiken.

Voordat u een originregel wijzigt

Moet een algemene URL-parser het hele beleid bepalen?

Parsen en acceptatie door de toepassing zijn afzonderlijke beslissingen. Gebruik de parser om onderdelen te verkrijgen en beoordeel vervolgens welke schema's en hostvormen uw code toestaat. Laat het model aanwijzen waar die regels worden afgedwongen, in plaats van aan te nemen dat geslaagd parsen acceptatie betekent.

Kan normalisatie per ongeluk de toegestane invoerverzameling verruimen?

Ja. Een herschrijving kan waarden herstellen of herinterpreteren die de oude code afwees. Neem afgewezen testgevallen op naast gelijkwaardige geaccepteerde gevallen en controleer de reactie van de aanroepende code. Beslis expliciet of elke nieuw geaccepteerde vorm in het toepassingscontract hoort.

Valideert een overeenkomende origin de externe dienst?

Nee. De hier beschreven vergelijking behandelt de originregel van uw code. Zij stelt niet de betrouwbaarheid van een externe dienst of de veiligheid van een volgend verzoek vast. Beoordeel die afzonderlijke vereisten waar uw toepassing dat verzoek doet.

Moeten diagnostische testgevallen productie-URL's of inloggegevens bevatten?

Gebruik bij voorkeur synthetische hostnamen en laat inloggegevens weg, tenzij die essentieel zijn voor een afwijzingsgeval. Beoordeel de bestemmingen van eindpunten en hulpmiddelen. Een afzonderlijk draaiende lokale modelserver maakt niet elk verbonden hulpmiddel lokaal, ook niet hulpmiddelen voor URL-inspectie.

Download voor Windows ↗

Orivelle · Bijgewerkt 2026-10-25