양식 제출에서 사용자는 때때로 부적절한 텍스트 또는 민감한 정보를 입력 할 수 있습니다. 플랫폼 컨텐츠의 건강과 보안을 보장하기 위해 PHP의 Stripos 기능을 사용하여 사용자 입력을 검색하고 필터링 할 수 있습니다. 이 기사에서는 StripOS 기능을 사용하여 Form Content Review에서 키워드 검색 및 필터링을 구현하고 예제를 제공하는 방법을 소개합니다.
stripos는 문자열에서 서브 스트링의 첫 번째 발생을 찾는 데 사용되는 PHP의 함수입니다. 이 함수는 대소 문자를 사용하지 않으며 리턴 값은 하위 문자열이 처음 나타나는 위치이며 찾지 못하면 False를 반환합니다. 이 기능은 민감한 정보 나 키워드 검색을 수행 할 때 매우 유용합니다.
stripos($haystack, $needle, $offset);
$ haystack : 검색 할 문자열.
$ 바늘 : 찾을 수있는 서브 스트링.
$ 오프셋 : (선택 사항) 오프셋이 설정되면 검색이 해당 위치에서 시작됩니다.
Form Content를 검토하는 동안 Stripos를 사용하여 특정 민감한 키워드가 있는지 확인할 수 있습니다. 예를 들어, 사용자가 제출 한 양식에 특정 민감한 단어가 포함되어 있는지 여부를 찾고 있다고 가정 하고이 단어가 발견되면 사용자를 제출하거나 프롬프트 할 수 있습니다.
다음은 Scripos 기능을 사용하여 사용자 제출 된 양식의 내용에 부적절한 어휘가 포함되어 있는지 여부를 감지하는 방법을 보여주는 간단한 예입니다.
<?php
// 민감한 단어 목록을 정의합니다
$sensitiveWords = ['민감한 단어1', '민감한 단어2', '부적절한 콘텐츠'];
// 양식 입력 컨텐츠를 시뮬레이션합니다
$formInput = $_POST['user_input'] ?? '';
// 检查表单输入是否包含민감한 단어
foreach ($sensitiveWords as $word) {
if (stripos($formInput, $word) !== false) {
echo "경고하다:您的输入包含부적절한 콘텐츠,제출하기 전에 수정하십시오。";
// 여기,양식 제출을 거부하거나 다른 처리를 수행하도록 선택할 수 있습니다.
exit;
}
}
// 양식 데이터를 계속 처리하십시오
echo "귀하의 양식이 성공적으로 제출되었습니다!";
?>
위의 코드에서는 민감한 단어 $ 민감한 단어 목록을 정의하고 사용자가 입력 한 양식 컨텐츠에 Scripos 함수를 통해 이러한 민감한 단어가 하나씩 포함되어 있는지 확인합니다. 일치가 발견되면 경고 메시지가 출력되고 처리가 종료됩니다. 민감한 단어가 없으면 양식이 정상적으로 제출됩니다.
때로는 양식 컨텐츠에 URL 링크가 포함될 수 있습니다. 또한 Stripos를 사용하여 URL에 부적절한 도메인 이름 또는 민감한 링크가 포함되어 있는지 확인할 수도 있습니다. 다음은 양식 컨텐츠에 특정 무단 URL이 포함되어 있는지 확인하는 예입니다.
<?php
// 무단 도메인 이름 목록을 정의하십시오
$disallowedDomains = ['example.com', 'anotherexample.com'];
// 양식 입력 컨텐츠를 시뮬레이션합니다
$formInput = $_POST['user_input'] ?? '';
// 찾다URL도메인 이름
preg_match_all('/https?:\/\/([^\/]+)/', $formInput, $matches);
// 모든 일치하는 도메인 이름을 반복하십시오
foreach ($matches[1] as $domain) {
if (in_array($domain, $disallowedDomains)) {
echo "경고하다:입력에는 허용되지 않는 링크가 포함되어 있습니다({$domain})。제출하기 전에 수정하십시오。";
exit;
}
}
// 양식 데이터를 계속 처리하십시오
echo "귀하의 양식이 성공적으로 제출되었습니다!";
?>
이 예에서는 preg_match_all을 사용하여 모든 URL에서 도메인 이름을 추출한 다음 in_array를 사용하여 무단 도메인 이름이 있는지 확인합니다. 실제 요구에 따라 무단 도메인 이름 목록을 수정할 수 있습니다.
성능 문제 : 형식 컨텐츠가 길거나 민감한 단어 목록이 매우 큰 경우 stripos 를 자주 사용하면 성능에 영향을 줄 수 있습니다. 현재 정규 표현식 또는 기타 최적화 전략을 사용하는 것을 고려할 수 있습니다.
불완전한 일치 : Stripos는 문자열 검색을 기반으로하며 부분적 일치가있을 수 있습니다. 잘못 판단을 피하기 위해 격리를 위해 공백 또는 기타 특수 문자 전후에 민감한 단어를 추가 할 수 있습니다.
향상된 사용자 경험 : 사용자가 입력 할 때 즉각적인 피드백을 원한다면 프론트 엔드 감지를 위해 JavaScript와 AJAX를 결합하여 사용자 경험을 향상시키는 것을 고려할 수 있습니다.