OOrivelle
Ambiente de programação com IA

Comparação restrita de origens HTTPS

Compare origens HTTPS de nomes DNS ASCII com sufixos alfabéticos e porta padrão 443.

● ● ●Orivelle●
Fluxos de trabalho · Comparação restrita de origens HTTPS ×
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)
✳Comparação restrita de origens HTTPS
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
01

Projeto

Teste maiúsculas e ignore caminhos, rejeitando credenciais, IPs literais, espaços e portas fora de 1–65535.

02

Revise antes de aplicar

Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

03

Modelos

Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

Fluxos de trabalho

Comparação restrita de origens HTTPS

Fluxos de trabalho ↗
Fluxos de trabalho
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)
Ambiente de programação com IA

Mantenha explícitas a aceitação de URLs e as decisões de origem

O Orivelle oferece a desenvolvedores de aplicações um ambiente de programação com IA para Windows para examinar decisões nos limites de entrada. Abra o projeto e descreva quais entradas devem ser aceitas, rejeitadas ou consideradas equivalentes. Peça ao modelo que examine a implementação atual antes de alterar uma regra, principalmente quando o código ao redor depender de uma interpretação restrita.

Uma comparação restrita de origens HTTPS é uma solicitação prática. Forneça exemplos com portas explícitas e padrão, nomes de host com maiúsculas e minúsculas e entradas fora do subconjunto aceito. Pergunte como o código atual os trata e qual resultado o chamador deve receber. Isso mantém a discussão vinculada à política da aplicação, em vez de uma regra de URL presumidamente universal.

Revise a proposta tanto na normalização quanto no comportamento de rejeição. Aceitar um formato antes rejeitado pode ampliar o contrato mesmo quando a comparação parece mais limpa. Execute os testes do projeto e examine os pontos de chamada que dependem de uma correspondência, incluindo a resposta após uma entrada malformada. Mantenha o subconjunto aceito documentado junto da alteração.

O Orivelle se conecta a endpoints compatíveis com OpenAI ou endpoints Anthropic suportados, usando credenciais quando exigidas. Um modelo de IA abliterado pode ser escolhido se estiver disponível no endpoint. O modelo e o servidor determinam ferramentas, limites de contexto e restrições restantes; o rótulo não certifica decisões de segurança nem substitui a revisão do código que você pretende usar.

Antes de alterar uma regra de origem

Um analisador geral de URLs deve decidir toda a política?

Análise e aceitação pela aplicação são decisões separadas. Use o analisador para obter componentes; depois, revise quais esquemas e formatos de host o código permite. Peça ao modelo que identifique onde essas regras são aplicadas, em vez de presumir que uma análise bem-sucedida significa aceitação.

A normalização pode ampliar acidentalmente o conjunto de entradas aceitas?

Sim. Uma reescrita pode corrigir ou reinterpretar valores que o código antigo rejeitava. Inclua casos rejeitados junto dos equivalentes aceitos e confira a resposta do chamador. Decida explicitamente se cada novo formato aceito pertence ao contrato da aplicação.

Uma correspondência de origem valida o serviço remoto?

Não. A comparação descrita aqui trata da regra de origem do seu código. Ela não estabelece a confiabilidade de um serviço remoto nem a segurança de uma solicitação posterior. Revise esses requisitos separados no ponto em que a aplicação faz essa solicitação.

Casos de diagnóstico devem conter URLs ou credenciais de produção?

Prefira nomes de host sintéticos e omita credenciais, a menos que sejam essenciais a um caso de rejeição. Revise os destinos do endpoint e das ferramentas. Um servidor de modelos local em execução separada não torna locais todas as ferramentas conectadas, inclusive as usadas para examinar URLs.

Baixar para Windows ↗

Orivelle · Atualizado 2026-10-25