로컬 호스트에서만 get/post 요청 수락
데이터 크기가 웹 앱에서 로드해야 할 정도로 작지 않기 때문에 가끔 꽤 느려지기 때문에 요청 시 특정 데이터를 로드하고 캐시에 저장하기 위해 jQuery ajax 함수를 추가하기로 했습니다.
제가 알고 싶은 것은 어떤 것을 제한할 수 있느냐는 것입니다.GET
아니면POST
localhost/same server/same ip에서만 요청하여 외부에서 앱으로 호출을 피할 수 있습니까?
즉, 데이터를 반환하는 나의 php 함수는 localhost에서 요청하는 경우에만 데이터를 반환해야 합니다.
내 웹 앱은 CodeIgniter의 프레임워크에서 실행되고 내 웹 서버의 구성은 우분투에서 실행되는 LAMP입니다.
무슨 생각 있어요?
당신이 사용할 수 있는 컨스트럭터에서
if ($_SERVER['SERVER_ADDR'] != $_SERVER['REMOTE_ADDR']){
$this->output->set_status_header(400, 'No Remote Access Allowed');
exit; //just for good measure
}
하지만 이 방법이 원하는 방법이 아니라면...htaccess
빠른 Google 검색을 수행하여 get/post 거부에 대한 특정 예제를 모두에게 반환한 다음 127.0.0.1/localhost를 허용할 수 있습니다.
.htaccess를 사용하는 것이 아마도 가장 좋은 방법일 것입니다. 로컬 주소와 127.0.0.1에서만 허용합니다.petergasser.com 에서 이 예시를 찾았는데 약간만 바꿨습니다.
AuthName "bla"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 127.0.0.1
allow from <your-ip-here>
</Limit>
키(API 키 생각)를 사용하여 요청을 서버로 전송합니다.그런 다음 서버에서 해당 키를 확인하고 올바른 키인지 확인하면 데이터를 반환합니다.
@gorrelative 덕분에 이렇게 씁니다.
if(
isset($_SERVER['REMOTE_ADDR']) AND ( $_SERVER['REMOTE_ADDR'] !== $_SERVER['SERVER_ADDR'] )
){
die(' Access Denied, Your IP: ' . $_SERVER['REMOTE_ADDR'] );
}
언급URL : https://stackoverflow.com/questions/9872751/accepting-get-post-requests-only-from-localhost
'sourcetip' 카테고리의 다른 글
자신의 보필은 현실적인 문제인가요, 아니면 역사적인 문제인가요? (0) | 2023.10.20 |
---|---|
스위프트에서 관련 객체를 설정하는 방법이 있습니까? (0) | 2023.10.20 |
ENOENT: node_modules\jquery\dist\jquery.min.js'에 해당하는 파일 또는 디렉토리가 없습니다. (0) | 2023.10.20 |
인라인 CSS가 뭐가 그렇게 안 좋습니까? (0) | 2023.10.20 |
신호 R "신호기/허브"에서 404 오류 발생 (0) | 2023.10.20 |