Filter by 카테고리

워드프레스 json 비활성화 방법

()

워드프레스 5버전 부터 json이 기본 지원되고 있다 rest api라고도 부른다

JSON REST API

JSON(제이슨[1], JavaScript Object Notation)은 속성-값 쌍( attribute?value pairs and array data types (or any other serializable value)) 또는 “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다.
본래는 자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷이다. 즉, 프로그래밍 언어나 플랫폼에 독립적이므로, 구문 분석 및 JSON 데이터 생성을 위한 코드는 C, C++, C#, 자바, 자바스크립트, 펄, 파이썬 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있다.

도메인명.com/wp/wp-json 입력하면 json화면으로 진입 가능하다

json을 검색해보니

html 형식을 json으로 속성과 값 등으로 변환해서 보기 쉽게 만들어준다

물론 사람 뿐 아니라 규칙성을 가지고 있어서 스크래퍼 또한 훨씬 더 스크래핑 하기 수월해진다

단점은 json을 오픈했을 때 다른 타 스크래퍼들이 무차별 스크래핑에

당할 여지를 남긴다 심할 경우 DDOS 공격에 노출될 수 있다


json 비활성화 방법은 json 제어 플러그인을 별도로 설치 또는

사용중인 테마의 function.php 파일에 아래 코드를 추가한다

관리자 계정 이외에는 json을 볼 수 없게 하는 방법이다

add_filter( 'rest_authentication_errors', function( $result ) {
    if ( ! empty( $result ) ) {
        return $result;
    }
	if(! current_user_can( 'administrator' ) ){ // only if administrator
        return new WP_Error( 'rest_not_logged_in', 'You are not currently logged in.', array( 'status' => 401 ) );
    }
    return $result;
});

위 코드는 구글링을 통해 수정하였다

워드프레스 관리자가 아닐 경우 401 status 결과값을 출력시킨다


파이어폭스에서 도메인명/wp-josn으로 접속 시

관리자가 아닐 경우

관리자일 경우

이 게시물은 얼마나 유용했습니까?

별을 클릭하여 등급을 매깁니다!

평균 평점 / 5. 투표 수:

지금까지 투표가 없습니다! 이 게시물을 평가하는 첫 번째 사람이 되세요.

리플 남기기