CORS Policy Tester
Teste e depure configurações CORS com cenários simulados do navegador.
Separe múltiplas origens com vírgulas. Use * para permitir qualquer origem (mas não com credenciais)
Sobre esta ferramenta
Compartilhamento de Recursos Entre Origens (CORS) é um mecanismo crítico de segurança web que controla como os navegadores lidam com solicitações entre domínios diferentes. Políticas CORS mal configuradas podem fazer sua aplicação falhar silenciosamente, enquanto políticas excessivamente permissivas expõem sua API a acessos indesejados. O CORS Policy Tester ajuda desenvolvedores a entender e validar a configuração CORS do servidor simulando cenários reais do navegador, sem necessidade de configurar múltiplos domínios ou implantar código de teste.
Para usar esta ferramenta, insira a URL do seu endpoint da API e selecione o cenário que corresponde ao seu caso de uso, como solicitações da mesma origem, solicitações entre origens com cabeçalhos simples, ou solicitações de verificação prévia complexas com cabeçalhos ou métodos HTTP personalizados. A ferramenta simulará o processo de validação CORS do navegador e mostrará exatamente quais cabeçalhos seu servidor deve enviar na resposta, se a solicitação seria bem-sucedida e quais mensagens de erro os navegadores exibiriam se a política estiver mal configurada. Isso torna fácil depurar problemas CORS antes que cheguem à produção.
Esta ferramenta é inestimável para desenvolvedores que trabalham com APIs REST, microsserviços ou qualquer backend que precise servir solicitações de clientes web em domínios diferentes. É particularmente útil ao desenvolver em ambientes locais onde seu frontend e backend executam em portas diferentes, ou ao integrar serviços de terceiros. Ao testar vários cenários CORS, você pode garantir que sua API seja segura e funcional.
Perguntas Frequentes
Implementação de Código
# CORS headers generator (Flask example)
from flask import Flask, request, jsonify
app = Flask(__name__)
CORS_CONFIG = {
"allowed_origins": ["https://example.com", "https://app.example.com"],
"allowed_methods": ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
"allowed_headers": ["Content-Type", "Authorization", "X-Requested-With"],
"allow_credentials": True,
"max_age": 86400,
}
def add_cors_headers(response, origin):
allowed = CORS_CONFIG["allowed_origins"]
if origin in allowed or "*" in allowed:
response.headers["Access-Control-Allow-Origin"] = origin
if CORS_CONFIG["allow_credentials"]:
response.headers["Access-Control-Allow-Credentials"] = "true"
response.headers["Access-Control-Allow-Methods"] = ", ".join(CORS_CONFIG["allowed_methods"])
response.headers["Access-Control-Allow-Headers"] = ", ".join(CORS_CONFIG["allowed_headers"])
response.headers["Access-Control-Max-Age"] = str(CORS_CONFIG["max_age"])
return response
@app.before_request
def handle_preflight():
if request.method == "OPTIONS":
response = app.make_default_options_response()
return add_cors_headers(response, request.headers.get("Origin", ""))
@app.after_request
def apply_cors(response):
origin = request.headers.get("Origin", "")
return add_cors_headers(response, origin)
@app.route("/api/data")
def data():
return jsonify({"message": "CORS configured successfully"})Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.