import re
TOKEN = re.compile(r"[!#$%&'*+.^_`|~0-9A-Za-z-]+")
def header_line(name, value):
if not isinstance(name, str) or not TOKEN.fullmatch(name):
raise ValueError("header name")
if not isinstance(value, str) or any(not 32 <= ord(c) <= 126 for c in value):
raise ValueError("ASCII header value")
return name + ": " + value| 프로젝트 | 잘못된 이름 문자, 줄 바꿈, 제어 문자, 비ASCII 입력을 거부하고 빈 값에서도 추가 헤더를 만들지 마세요. |
|---|---|
| 적용하기 전에 검토하세요 | 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요. |
| 모델 | 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다. |
import re
TOKEN = re.compile(r"[!#$%&'*+.^_`|~0-9A-Za-z-]+")
def header_line(name, value):
if not isinstance(name, str) or not TOKEN.fullmatch(name):
raise ValueError("header name")
if not isinstance(value, str) or any(not 32 <= ord(c) <= 126 for c in value):
raise ValueError("ASCII header value")
return name + ": " + value요청 생성 코드에 명확한 입력 경계를 부여하세요
HeaderAnvil은 요청 생성 작업을 AI 대화가 연결된 Windows 코딩 작업 공간으로 가져옵니다. 애플리케이션이 생성해야 할 헤더와 허용해야 할 값을 명시하는 것부터 시작하세요. 그러면 검증을 강화해 달라는 일반적인 요청이 소스의 특정 경계에서 검토할 수 있는 변경이 됩니다.
예를 들어 제공된 ASCII 헤더 형식 지정 코드를 실제 클라이언트 코드와 함께 살펴보도록 어시스턴트에게 요청할 수 있습니다. 이름과 값 검사는 구체적인 논의 자료를 주지만 모든 HTTP 사용 사례를 정의하지는 않습니다. 허용 범위를 넓히거나 거부를 강화하도록 요청하기 전에 애플리케이션이 요구하는 입력 규약을 설명하세요.
그다음 제안된 검사가 실행되는 위치와 실패가 호출부에 전달되는 방식을 검토하세요. 주변 요청 경로가 결과를 의도적으로 처리할 때에만 값 거부가 유용합니다. 프로젝트의 자체 테스트 데이터로 정상 입력과 금지 문자를 테스트하고 결과 요청 생성 및 오류 보고를 살펴본 뒤에야 작업 완료를 판단하세요.
지원되는 OpenAI 호환 또는 Anthropic 엔드포인트에서 제공하는 경우 제한 없는 AI 모델이 이 작업을 도울 수 있습니다. 엔드포인트와 필요한 인증 정보를 설정하고 모델별 컨텍스트 한도와 도구 지원을 고려하세요. 그 명칭이 제공업체 제한을 없애거나 제안된 검증기가 애플리케이션의 프로토콜 요구사항에 맞는다고 입증하지는 않습니다.
헤더 생성 변경에 관한 질문
- 사용자 정의 헤더에 어떤 규약을 명시해야 하나요?
애플리케이션이 허용하는 문자, 빈 값 정책, 예상 실패 동작을 지정하세요. 형식화된 줄을 사용하는 코드도 포함하세요. 예제 값 하나로 완전한 프로토콜 정책을 추론하도록 모델에 요청하지 마세요.
- ASCII 예제를 범용 HTTP 검증기로 취급해도 되나요?
아닙니다. 의도적으로 제한된 소스 수준 규약을 보여 줍니다. 이를 확장하기 전에 실제 사용하는 클라이언트와 프로토콜 경로의 요구사항을 검토하고 범용 호환성을 가정하지 말고 해당 구현에 맞춰 변경을 테스트하세요.
- 잘못된 입력의 보고 방식을 어디에서 확인해야 하나요?
형식 지정 코드의 호출부를 요청 생성과 오류 처리까지 추적하세요. 실패가 요청을 중지하는지, 사용자 메시지가 되는지, 로그에 기록되는지 물어보세요. 검증 내부뿐 아니라 그 경계에서도 제안 동작을 검토하세요.
- 인증 정보를 보내지 않고 실패하는 요청을 공유하려면 어떻게 하나요?
관련 문자와 구조를 보존하는 대표적인 자리표시자로 비밀 값을 대체하세요. 생성 코드와 관찰한 실패를 포함하세요. 선택한 모델에 필요한 것은 검증 사례이며 서비스의 실제 인증 값이 아닙니다.
HeaderAnvil · 업데이트 2026-10-25