웹 애플리케이션을 개발할 때 사용자가 입력 한 데이터는 종종 통제 할 수 없습니다. 효과적으로 필터링되지 않으면 XSS, SQL 주입 및 기타 공격과 같은 보안 위험을 유발하는 것이 매우 쉽습니다. 이 기사는 PHP에서 일반적으로 사용되는 데이터 필터링 기술을 소개하고 실제 코드를 기반으로 다양한 입력 상황을 처리하는 방법을 보여줍니다.
사용자 제출 문자열에는 HTML 태그 또는 악의적 인 스크립트가 포함되어 있으며, 이는 크로스 사이트 스크립팅 공격 (XSS)이 발생합니다. htmlspecialchars ()를 사용할 수 있습니다.
숫자 유형의 입력을 처리 할 때는 올바른 형식과 예상 범위 내에 있음을 확인해야합니다. php는 filter_validate_float 또는 filter_validate_int 와 함께 filter_var ()를 제공하여 확인을 구현합니다.
샘플 코드 :
$input = "3.14";
$filteredInput = filter_var($input, FILTER_VALIDATE_FLOAT);
if ($filteredInput !== false) {
if ($filteredInput >= 0 && $filteredInput <= 10) {
echo "입력 한 번호가 있습니다 0 도착하다 10 ~ 사이。";
} else {
echo "입력 된 숫자는 유효한 범위 내에 있지 않습니다。";
}
} else {
echo "입력은 유효한 숫자가 아닙니다。";
}
사용자가 등록하거나 로그인 할 때 이메일 주소의 형식 확인이 필수적입니다. PHP의 내장 Filter_Validate_Email을 사용하여 입력이 합법적 인 사서함인지 쉽게 확인하십시오.
샘플 코드 :
$input = "example@example.com";
$filteredInput = filter_var($input, FILTER_VALIDATE_EMAIL);
if ($filteredInput !== false) {
echo "유효한 이메일 주소를 입력하십시오。";
} else {
echo "입력 한 것은 유효한 이메일 주소가 아닙니다。";
}
사용자가 제공 한 URL을 처리 할 때는 형식이 URL 사양을 준수하는지 여부를 결정해야합니다. PHP의 필터 _validate_url 필터는 이러한 확인에 사용할 수 있습니다.
샘플 코드 :
$input = "https://www.example.com";
$filteredInput = filter_var($input, FILTER_VALIDATE_URL);
if ($filteredInput !== false) {
echo "입력은 유효합니다 URL。";
} else {
echo "입력은 유효한 입력이 아닙니다 URL。";
}
사용자 입력의 신뢰성을 보장 할 수 없으므로 웹 개발에서 데이터 필터링은 시스템의 보안 및 안정성을 보장하는 중요한 링크입니다. htmlspecialchars () 및 filter_var () 와 같은 PHP가 제공하는 필터링 함수를 사용하여 개발자는 불법 또는 악성 입력을 효과적으로 식별하고 차단할 수 있습니다.
실제 개발에서 필터링 방법은 비즈니스 요구 및 보안 정책에 따라 합리적으로 선택해야하며 데이터 처리의 무결성 및 보안을 보장하기 위해 데이터베이스 계층 및 프론트 엔드 검증과 함께 다중 계층 보호를 달성해야합니다.