Analisador de Set-Cookie API

API ID 14204

Verifique os cookies que um site define, por cada redirecionamento e em JSON, para bandeiras ausentes Secure/HttpOnly/SameSite e violações de RFC, a partir do CI ou de um script. Cada cookie é relatado com seus atributos, Host-/

Documentação da API

Endpoints

Requisição
Busca a URL segue até 5 redirecionamentos um a um e analisa cada cabeçalho Set-Cookie de cada redirecionamento Os resultados são armazenados em cache por 6 horas e o parâmetro fresh ignora o cache Um valor sem um esquema como example.com é tratado como https
Endpoint ID: 35259
GET https://zylalabs.com/api/14204/set-cookie+analyzer+api/35259/analyze+the+set-cookie+headers+of+a+url
PARÂMETROS DE ENTRADA

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

Este endpoint não requer parâmetros de entrada.

RESPOSTA DE EXEMPLO DA API
JSON
{
    "url": "https://github.com/",
    "finalUrl": "https://github.com/",
    "statusCode": 200,
    "redirectChain": [
        {
            "url": "https://github.com/",
            "statusCode": 200,
            "cookieCount": 3
        }
    ],
    "cookieCount": 3,
    "grade": "A+",
    "score": 99,
    "summary": {
        "errors": 0,
        "warnings": 0,
        "infos": 3
    },
    "cookies": [
        {
            "name": "_gh_sess",
            "valueLength": 354,
            "valuePreview": "55D…",
            "attributes": {
                "domain": null,
                "path": "/",
                "expires": null,
                "maxAge": null,
                "secure": true,
                "httpOnly": true,
                "sameSite": "Lax",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "session",
                "seconds": null,
                "source": null
            },
            "deletion": false,
            "sizeBytes": 362,
            "issues": [],
            "score": 100,
            "grade": "A+",
            "setBy": {
                "hop": 1,
                "url": "https://github.com/",
                "statusCode": 200
            }
        },
        {
            "name": "_octo",
            "valueLength": 27,
            "valuePreview": "GH1…",
            "attributes": {
                "domain": ".github.com",
                "path": "/",
                "expires": "2027-10-12T16:56:41.000Z",
                "maxAge": null,
                "secure": true,
                "httpOnly": false,
                "sameSite": "Lax",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "persistent",
                "seconds": 31536000,
                "source": "expires"
            },
            "deletion": false,
            "sizeBytes": 32,
            "issues": [
                {
                    "severity": "info",
                    "code": "domain_leading_dot",
                    "message": "A leading dot in Domain is ignored by modern browsers (RFC 6265 section 5.2.3); it can be removed."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                }
            ],
            "score": 98,
            "grade": "A+",
            "setBy": {
                "hop": 1,
                "url": "https://github.com/",
                "statusCode": 200
            }
        },
        {
            "name": "logged_in",
            "valueLength": 2,
            "valuePreview": "…",
            "attributes": {
                "domain": ".github.com",
                "path": "/",
                "expires": "2027-10-12T16:56:41.000Z",
                "maxAge": null,
                "secure": true,
                "httpOnly": true,
                "sameSite": "Lax",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "persistent",
                "seconds": 31536000,
                "source": "expires"
            },
            "deletion": false,
            "sizeBytes": 11,
            "issues": [
                {
                    "severity": "info",
                    "code": "domain_leading_dot",
                    "message": "A leading dot in Domain is ignored by modern browsers (RFC 6265 section 5.2.3); it can be removed."
                }
            ],
            "score": 99,
            "grade": "A+",
            "setBy": {
                "hop": 1,
                "url": "https://github.com/",
                "statusCode": 200
            }
        }
    ],
    "cached": false,
    "checkedAt": "2026-10-12T16:56:41.406Z"
}
Analise os cabeçalhos Set-Cookie de uma URL — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/14204/set-cookie+analyzer+api/35259/analyze+the+set-cookie+headers+of+a+url' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição
Analisa os cabeçalhos Set-Cookie que você fornece e não faz nenhuma solicitação externa. Forneça os cabeçalhos como um bloco de cabeçalho bruto com um Set-Cookie por linha, outras linhas de cabeçalho são ignoradas, ou setCookie como um array. Máximo de 50 cookies 8 KB cada
Endpoint ID: 35260
POST https://zylalabs.com/api/14204/set-cookie+analyzer+api/35260/analyze+pasted+set-cookie+header+text+offline
PARÂMETROS DE ENTRADA

Analise o texto do cabeçalho Set-Cookie colado offline — Recursos do endpoint

Objeto Descrição
Corpo da requisição Obrigatório Json

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

RESPOSTA DE EXEMPLO DA API
JSON
{
    "cookieCount": 3,
    "grade": "D",
    "score": 66,
    "summary": {
        "errors": 2,
        "warnings": 4,
        "infos": 5
    },
    "assumptions": {
        "https": true,
        "host": null,
        "note": "Parsed offline. Secure checks assume the cookie was served over HTTPS (set \"https\": false to change); Domain checks run only when \"host\" is given."
    },
    "cookies": [
        {
            "name": "__Host-id",
            "valueLength": 1,
            "valuePreview": "…",
            "attributes": {
                "domain": "a.com",
                "path": null,
                "expires": null,
                "maxAge": null,
                "secure": false,
                "httpOnly": false,
                "sameSite": null,
                "partitioned": false,
                "priority": null
            },
            "prefix": "__Host-",
            "lifetime": {
                "type": "session",
                "seconds": null,
                "source": null
            },
            "deletion": false,
            "sizeBytes": 10,
            "issues": [
                {
                    "severity": "error",
                    "code": "host_prefix_violation",
                    "message": "A __Host- cookie requires the Secure attribute, Path=/, no Domain attribute (RFC 6265bis section 4.1.3.2); browsers reject it otherwise."
                },
                {
                    "severity": "warning",
                    "code": "secure_missing",
                    "message": "The cookie has no Secure attribute although it was served over HTTPS, so browsers may also send it over plain HTTP."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                },
                {
                    "severity": "info",
                    "code": "samesite_missing",
                    "message": "No SameSite attribute: browsers default to Lax (Chrome, Edge, Firefox in some modes). State the intent explicitly with SameSite=Lax, Strict or None."
                }
            ],
            "score": 63,
            "grade": "D"
        },
        {
            "name": "s",
            "valueLength": 1,
            "valuePreview": "…",
            "attributes": {
                "domain": null,
                "path": null,
                "expires": null,
                "maxAge": null,
                "secure": false,
                "httpOnly": false,
                "sameSite": "None",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "session",
                "seconds": null,
                "source": null
            },
            "deletion": false,
            "sizeBytes": 2,
            "issues": [
                {
                    "severity": "error",
                    "code": "samesite_none_requires_secure",
                    "message": "SameSite=None requires the Secure attribute; Chrome, Firefox and Safari reject the cookie otherwise (RFC 6265bis section 4.1.2.7)."
                },
                {
                    "severity": "warning",
                    "code": "secure_missing",
                    "message": "The cookie has no Secure attribute although it was served over HTTPS, so browsers may also send it over plain HTTP."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                }
            ],
            "score": 64,
            "grade": "D"
        },
        {
            "name": "t",
            "valueLength": 1,
            "valuePreview": "…",
            "attributes": {
                "domain": null,
                "path": null,
                "expires": null,
                "maxAge": 99999999,
                "secure": false,
                "httpOnly": false,
                "sameSite": null,
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "persistent",
                "seconds": 99999999,
                "source": "max-age"
            },
            "deletion": false,
            "sizeBytes": 2,
            "issues": [
                {
                    "severity": "warning",
                    "code": "lifetime_exceeds_400_days",
                    "message": "The lifetime is about 1157 days; Chrome caps cookie lifetime at 400 days (RFC 6265bis section 5.5), so it will be truncated."
                },
                {
                    "severity": "warning",
                    "code": "secure_missing",
                    "message": "The cookie has no Secure attribute although it was served over HTTPS, so browsers may also send it over plain HTTP."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                },
                {
                    "severity": "info",
                    "code": "samesite_missing",
                    "message": "No SameSite attribute: browsers default to Lax (Chrome, Edge, Firefox in some modes). State the intent explicitly with SameSite=Lax, Strict or None."
                }
            ],
            "score": 78,
            "grade": "C"
        }
    ],
    "checkedAt": "2026-10-12T16:57:50.219Z"
}
Analise o texto do cabeçalho Set-Cookie colado offline — TRECHOS DE CÓDIGO

curl --location --request POST 'https://zylalabs.com/api/14204/set-cookie+analyzer+api/35260/analyze+pasted+set-cookie+header+text+offline' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{"headers":"Set-Cookie: __Host-id=1; Domain=a.com\nSet-Cookie: s=1; SameSite=None\nSet-Cookie: t=1; Max-Age=99999999"}'

    

Chave de acesso à API e autenticação

Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a Analisador de Set-Cookie API basta incluir seu token Bearer no cabeçalho Authorization.

Cabeçalhos
Cabeçalho Descrição
Authorization Obrigatório Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.

Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.

A partir de
$10.000/Ano


  • Volume personalizado
  • Limite de taxa personalizado
  • Suporte ao cliente especializado
  • Monitoramento de API em tempo real

Visão Geral

Verifique os cookies que um site define por redirecionamento e em JSON, em busca de flags Secure/HttpOnly/SameSite ausentes e violações de RFC, a partir de CI ou um script. Cada cookie é relatado com seus atributos, regras de prefixo __Host-/__Secure-, tempo de vida e tamanho, e a resposta traz problemas codificados além de uma nota geral (A+ a F) e uma pontuação de 0 a 100. As verificações são baseadas na RFC 6265 e no rascunho da RFC 6265bis (SameSite=None precisa de Secure, requisitos de prefixo, limite de tempo de vida de 400 dias, limite de 4096 bytes) além de boas práticas comuns, como sinalizar nomes de cookies semelhantes a sessão que faltem HttpOnly. A nota e a pontuação usam nossa própria fórmula; descrevem apenas atributos de cookies e não são uma auditoria de segurança do site ou uma verificação de consentimento de cookies ou conformidade com leis de privacidade. Os redirecionamentos são seguidos um a um (até 5) e os cookies de cada redirecionamento são analisados. Os valores completos dos cookies nunca são retornados: apenas valueLength e um curto valuePreview mascarado (no máximo os primeiros 3 caracteres). Um segundo endpoint analisa o texto do cabeçalho Set-Cookie que você cola, offline, sem solicitação de saída. Os resultados refletem um único GET anônimo de nossos servidores; cookies definidos por JavaScript, ou somente após login ou consentimento, não são visíveis, e sites que bloqueiam tráfego de datacenter podem expirar ou mostrar menos cookies. Resultados para /v1/analyze são armazenados em cache por 6 horas por URL; adicione fresh=1 para ignorar o cache. Alvos de rede privada são rejeitados

Analisador de Set-Cookie API FAQs

O endpoint GET retorna um objeto JSON contendo os resultados da análise de cookies, incluindo a URL final, código de status, cadeia de redirecionamento, contagem de cookies, nota, pontuação e atributos detalhados de cookies O endpoint POST retorna dados semelhantes, mas foca nos cabeçalhos Set-Cookie fornecidos, incluindo erros, avisos e atributos de cookies

Os campos principais incluem `url`, `finalUrl`, `statusCode`, `cookieCount`, `grade`, `score` e `cookies`. Cada objeto de cookie contém atributos como `name`, `valueLength`, `valuePreview` e flags como `secure`, `httpOnly` e `sameSite`

Os dados retornados estão no formato JSON A estrutura inclui um objeto de nível superior com informações resumidas e um array de objetos de cookies cada um detalhando atributos e questões de conformidade Por exemplo o array `cookies` contém detalhes de cookies individuais como `name` `valueLength` e `attributes`

O endpoint GET fornece atributos de cookie, notas de conformidade e análise de redirecionamento O endpoint POST oferece insights sobre os cabeçalhos Set-Cookie fornecidos, incluindo erros e avisos relacionados a atributos de cookie e conformidade com padrões

Os dados da resposta estão organizados em um objeto principal contendo informações resumidas e um array de cookies Cada objeto de cookie inclui seus atributos e status de conformidade permitindo que os usuários avaliem facilmente a segurança dos cookies e a adesão aos padrões

Os dados são originados das respostas HTTP recebidas durante a análise da URL especificada ou dos cabeçalhos Set-Cookie fornecidos A API segue a RFC 6265 e as melhores práticas para avaliar os atributos dos cookies e a conformidade

Casos de uso típicos incluem auditoria da segurança de cookies para aplicações web garantindo conformidade com os padrões de cookies e identificando potenciais vulnerabilidades nas configurações de cookies Os desenvolvedores podem integrar essa análise em pipelines de CI/CD para verificações automatizadas

Os usuários podem personalizar solicitações especificando o parâmetro `fresh` no endpoint GET para ignorar resultados em cache. No endpoint POST, os usuários podem fornecer cabeçalhos Set-Cookie personalizados em vários formatos, permitindo uma análise adaptada de cookies específicos

Perguntas Frequentes Gerais

O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]

Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]

APIs relacionadas


Você também pode gostar