간단한 읽기 전용 API를 보호하는 간단한 방법

남자 이름

사용자가 데이터베이스에서 데이터를 검색 할 수 있도록 데이터베이스에 대한 간단한 읽기 전용 API를 구축했습니다.

예를 들어 URL " http : // xxxxx / getAllProfiles "는 데이터베이스에 저장된 모든 프로필을 포함하는 JSON 결과를 반환합니다.

API는 읽기 전용이며 일부 'select'SQL 쿼리로만 구현됩니다. 따라서 사용자는 API를 통해 데이터베이스의 데이터를 수정할 수 없습니다.

우리 회사는 온라인에서 임의의 봇이 API를 악용 할까봐 걱정하고 있으며이 API에 대한 보안 메커니즘을 구축해달라고 요청했습니다. (키가 없거나 누군가가 URL에 접근하는 것을 방해하는 무언가가 있으면 우리 서버를 너무 많이 방문하게 될까봐 걱정됩니다. 작은 서버입니다.)

PHP를 사용하여 구현할 수있는 가장 간단한 보안 메커니즘은 무엇입니까? (도움이된다면 API 용으로 Slim, Ubuntu 및 Apache가 실행되는 Amazon EC2 서버를 사용하고 있습니다.) 가급적이면 서버 또는 클라이언트 측에서 데이터베이스를 사용하지 않고도 구현할 수 있습니다.

명확하지 않은 사항이 있으면 알려주세요. 명확히하겠습니다.

감사.

추가 : 의견 주셔서 감사합니다. 데이터베이스를 사용하지 않는 방법이 있습니까? 키를 생성하는 현명한 방법처럼 ... 사용자가 도메인을 입력 할 수있는 페이지를 제공하고 알고리즘이이 도메인을 키로 변환 할 것이라고 생각합니다. 그런 다음 각 요청에 대해 사용자는이 키를 포함해야합니다. 서버는 요청 헤더에서 도메인을 가져와 동일한 알고리즘을 사용하여 다시 계산합니다. 두 계산 된 키가 일치하면 요청이 수락됩니다. 나는 이것이 최소한의 수준에서 처음에 도메인을 입력하고 키를 얻을 누군가가 있어야 함을 보장하므로 임의의 봇을 필터링합니까? 이것이 안전한지 확실하지 않습니까? 하지만 뭔가 걸러 낼 수있는 것처럼 들립니다.

남자 이름

나는 웹 개발에 대해 거의 알지 못할 때이 질문을 게시했습니다. REST API를 보호하는 방법에는 여러 가지가 있습니다 (예 : JWT, 쿠키, 기본 인증 등).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다음 간단한 장치 읽기 프로그램에서 '고양이'를 사용하는 방법

분류에서Dev

Swift를 사용하여 iOS 앱에 대한 간단한 탐색보기를 만드는 방법

분류에서Dev

기존 개체를 클리핑 경로로 사용하는 간단한 방법?

분류에서Dev

Nexus 5 및 Ubuntu Touch에서 간단한 전화기를 암호화하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 그려진 NSMenuItem보기를 구현하는 간단한 방법

분류에서Dev

mod_rewrite를 사용하는 간단한 방법

분류에서Dev

PendingIntent를 사용 / 생성하는 가장 간단한 방법

분류에서Dev

두 값간에 정수 변수를 전환하는 가장 간단한 방법

분류에서Dev

번호보기 (CallIntent)를 간단한 쓰기로 변경하는 방법은 무엇입니까?

분류에서Dev

사용자를 대시 보드로 리디렉션하는 간단한 방법

분류에서Dev

간단한 사용자 지정 데이터 형식에 대한 읽기 인스턴스를 수행하는 방법

분류에서Dev

자바 : 필터를 적용한 후 계산하는 간단한 일반적인 방법을 만들기

분류에서Dev

클래스 기반 뷰와 django-filter를 사용하는 방법에 대한 간단한 예?

분류에서Dev

단 두 개의 열 (시간 및 분)으로 간단한 (사용자 지정) 시간 선택기를 만드는 방법은 무엇입니까?

분류에서Dev

각도를 얻는 간단한 방법

분류에서Dev

HTTP 응답을 반환하기 전에 잠자는 간단한 netcat 서버를 설정하는 방법

분류에서Dev

사용자 지정 차트의 Azure 대시 보드에서 선택한 기간을 기반으로 시간 단위를 계산하는 방법

분류에서Dev

jQuery를 사용하여 많은 div를 표시하고 숨기는 더 간단한 방법이 있습니까?

분류에서Dev

면도기 페이지에서 개체를 전달하는 가장 간단한 방법

분류에서Dev

angularjs를 사용하여 간단한 계산기를 만드는 방법은 무엇입니까?

분류에서Dev

코드 오류를 줄이기 위해 메서드를 재사용하는 간단한 방법

분류에서Dev

더 간단한 표기법 또는 C #에서 If Else를 수행하는 방법

분류에서Dev

간단한 예제를 통해 Firebird에서 실행 블록을 사용하는 방법 배우기

분류에서Dev

더 간단한 속성 호출을 위해 사전을 사용하는 방법

분류에서Dev

간단한 Flask Restful API를 캐시하는 방법

분류에서Dev

중괄호를 이스케이프하는 간단한 방법?

분류에서Dev

간단한 인젝터를 사용하여 새보기를 여는 WPF

분류에서Dev

ASP.NET MVC를 사용하여 간단한 TreeView를 구현하는 방법

분류에서Dev

Omnet ++를 사용하여 간단한 Schedular를 모델링하는 방법

Related 관련 기사

  1. 1

    다음 간단한 장치 읽기 프로그램에서 '고양이'를 사용하는 방법

  2. 2

    Swift를 사용하여 iOS 앱에 대한 간단한 탐색보기를 만드는 방법

  3. 3

    기존 개체를 클리핑 경로로 사용하는 간단한 방법?

  4. 4

    Nexus 5 및 Ubuntu Touch에서 간단한 전화기를 암호화하는 방법은 무엇입니까?

  5. 5

    사용자 지정 그려진 NSMenuItem보기를 구현하는 간단한 방법

  6. 6

    mod_rewrite를 사용하는 간단한 방법

  7. 7

    PendingIntent를 사용 / 생성하는 가장 간단한 방법

  8. 8

    두 값간에 정수 변수를 전환하는 가장 간단한 방법

  9. 9

    번호보기 (CallIntent)를 간단한 쓰기로 변경하는 방법은 무엇입니까?

  10. 10

    사용자를 대시 보드로 리디렉션하는 간단한 방법

  11. 11

    간단한 사용자 지정 데이터 형식에 대한 읽기 인스턴스를 수행하는 방법

  12. 12

    자바 : 필터를 적용한 후 계산하는 간단한 일반적인 방법을 만들기

  13. 13

    클래스 기반 뷰와 django-filter를 사용하는 방법에 대한 간단한 예?

  14. 14

    단 두 개의 열 (시간 및 분)으로 간단한 (사용자 지정) 시간 선택기를 만드는 방법은 무엇입니까?

  15. 15

    각도를 얻는 간단한 방법

  16. 16

    HTTP 응답을 반환하기 전에 잠자는 간단한 netcat 서버를 설정하는 방법

  17. 17

    사용자 지정 차트의 Azure 대시 보드에서 선택한 기간을 기반으로 시간 단위를 계산하는 방법

  18. 18

    jQuery를 사용하여 많은 div를 표시하고 숨기는 더 간단한 방법이 있습니까?

  19. 19

    면도기 페이지에서 개체를 전달하는 가장 간단한 방법

  20. 20

    angularjs를 사용하여 간단한 계산기를 만드는 방법은 무엇입니까?

  21. 21

    코드 오류를 줄이기 위해 메서드를 재사용하는 간단한 방법

  22. 22

    더 간단한 표기법 또는 C #에서 If Else를 수행하는 방법

  23. 23

    간단한 예제를 통해 Firebird에서 실행 블록을 사용하는 방법 배우기

  24. 24

    더 간단한 속성 호출을 위해 사전을 사용하는 방법

  25. 25

    간단한 Flask Restful API를 캐시하는 방법

  26. 26

    중괄호를 이스케이프하는 간단한 방법?

  27. 27

    간단한 인젝터를 사용하여 새보기를 여는 WPF

  28. 28

    ASP.NET MVC를 사용하여 간단한 TreeView를 구현하는 방법

  29. 29

    Omnet ++를 사용하여 간단한 Schedular를 모델링하는 방법

뜨겁다태그

보관