WordPress
WordPress의 보안 - Sanitization
수색…
통사론
- sanitize_text_field (string $ str)
- sanitize_title (문자열 $ title, 문자열 $ fallback_title, 문자열 $ context)
- sanitize_email (string $ email)
- sanitize_html_class (string $ class, string $ fallback)
- sanitize_file_name (string $ name)
- sanitize_user (string $ username, 부울 $ strict)
비고
보안은 개발할 때 항상 염두에 두어야합니다. 보안이 없다면 SQL Injections, XSS, CSRF, RFI 등과 같은 심각한 공격을 유발할 수있는 다양한 공격에 응용 프로그램이 열려 있습니다.
신뢰할 수없는 데이터는 여러 소스 (사용자, 타사 사이트, 자신의 데이터베이스 !, ...)에서 비롯되며 모든 데이터는 입력과 출력 모두에서 검증되어야합니다. (Sourse : WordPress Codex)
데이터는 사용 목적에 따라 유효성을 확인하거나, 위생 처리되거나 도주되어야합니다.
유효성을 검사하려면 사용자에게 요청한 데이터가 제출 한 데이터와 일치하는지 확인해야합니다. (Sourse : WordPress Codex)
Sanitization은 사용자 데이터를 받아들이는 접근 방식을 좀 더 자유롭게 사용합니다. 허용 가능한 입력 범위가있을 때 이러한 방법을 사용할 수 있습니다. (Sourse : Wordpress Codex)
탈출하려면 기존 데이터를 가져 와서 최종 사용자를 위해 렌더링하기 전에 데이터를 보호하는 것이 좋습니다. (Sourse : WordPress Codex)
텍스트 필드 살생
$title = sanitize_text_field( $_POST['title'] );
제목 살생
반환 값은 사람이 읽을 수있는 제목이 아닌 URL에서 사용하기에 적합하도록 만들어졌습니다. 대신 sanitize_text_field를 사용하십시오.
$new_url = sanitize_title($title);
이메일 삭제
$sanitized_email = sanitize_email(' [email protected]! ');
Sanitize html 클래스
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
파일 이름 삭제
$incfile = sanitize_file_name($_REQUEST["file"]);
include($incfile . ".php");
파일 이름을 살균하지 않으면 공격자는 http : // attacker_site / malicous_page 를 입력으로 간단히 전달하고 서버의 모든 코드를 실행할 수 있습니다.
사용자 이름 삭제
$user = sanitize_user("attacker username<script>console.log(document.cookie)</script>");
sanitize 후 $ user 값은 "공격자 사용자 이름"입니다.