ajax는 도메인 간 액세스를 달성하기 위해 Access-Control-Allow-Origin을 설정합니다.
Ajax 도메인 간 액세스는 오래된 문제입니다. 더 일반적으로 사용되는 방법은 JSONP 방법입니다. JSONP 방법은 비공식 방법입니다. , 이 방법은 POST만큼 안전하지 않은 GET만 지원합니다.
jquery의 jsonp 메소드를 사용해 타입을 POST로 설정해도 자동으로 GET으로 변경된다.
공식 문제 설명:
"script": 응답을 JavaScript로 평가하고 일반 텍스트로 반환합니다. 캐시 옵션이 true로 설정되지 않은 경우 쿼리 문자열 매개변수 "_=[TIMESTAMP]"를 URL에 추가하여 캐싱을 비활성화합니다.참고:
이렇게 하면 원격 도메인 요청에 대해 POST가 GET으로 전환됩니다.
도메인 전체에서 POST를 사용하는 경우 이를 사용하여 숨겨진 iframe을 생성하고 다음과 같이 업로드할 수 있습니다. ajax 그림의 원리는 동일하지만 더 번거로울 것입니다.
따라서 Access-Control-Allow-Origin을 설정하여 도메인 간 액세스를 달성하는 것이 비교적 간단합니다.
예: 클라이언트의 도메인 이름은 www.client.com이고 요청된 도메인 이름은 www.server.com입니다
Ajax를 사용하여 직접 접속하면 다음과 같은 오류가 발생합니다
XMLHttpRequest가 http://www.server.com/server.php를 로드할 수 없습니다. . 요청한 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다.따라서 'http://www.client.com' 원본에는 액세스가 허용되지 않습니다.
//를 추가하여 다른 도메인 이름이
헤더( '액세스 -제어-허용-원본:*');
// 응답 유형
header('Access-Control-Allow-Methods:POST');
// 응답 헤더 설정
header('액세스 제어-허용 헤더:x-requested-with,content-type');
Ajax POST 도메인 간 액세스를 구현할 수 있습니다.
코드는 다음과 같습니다.
client.html 경로: http://www.client.com /client.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="content-type" c/html;charset=utf-8"> <title> 跨域测试 </title> <script src="//code.jquery.com/jquery-1.11.3.min.js"></script> </head> <body> <div id="show"></div> <script type="text/javascript"> $.post("http://www.server.com/server.php",{name:"fdipzone",gender:"male"}) .done(function(data){ document.getElementById("show").innerHTML = data.name + ' ' + data.gender; }); </script> </body> </html>
server.php 경로: http://www.server.com/server.php
<?php $ret = array( 'name' => isset($_POST['name'])? $_POST['name'] : '', 'gender' => isset($_POST['gender'])? $_POST['gender'] : '' ); header('content-type:application:json;charset=utf8'); header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Methods:POST'); header('Access-Control-Allow-Headers:x-requested-with,content-type'); echo json_encode($ret); ?>
Access-Control-Allow-Origin:*은 모든 도메인 이름에서 도메인 간 액세스를 허용한다는 뜻입니다
도메인 이름 지정이 필요한 경우 도메인 간 액세스를 허용하려면 Access-Control-Allow-Origin:*Changed to Access-Control-Allow-Origin:허용된 도메인 이름
예: header('Access- Control-Allow-Origin:http://www.client.com');
If 필요여러 도메인 이름 설정액세스 허용, 여기에서 처리하려면 PHP를 사용해야 합니다
예를 들어 www.client.com 및 www를 허용합니다. client2.com이 도메인 간 액세스 권한을 갖도록
server.php를
<?php $ret = array( 'name' => isset($_POST['name'])? $_POST['name'] : '', 'gender' => isset($_POST['gender'])? $_POST['gender'] : '' ); header('content-type:application:json;charset=utf8'); $origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : ''; $allow_origin = array( 'http://www.client.com', 'http://www.client2.com' ); if(in_array($origin, $allow_origin)){ header('Access-Control-Allow-Origin:'.$origin); header('Access-Control-Allow-Methods:POST'); header('Access-Control-Allow-Headers:x-requested-with,content-type'); } echo json_encode($ret); ?>
소스코드 다운로드 주소 : 클릭하시면 보실 수 있습니다
위 내용은 콘텐츠를 포함하여 도메인 간 액세스를 달성하기 위한 Ajax 설정 Access-Control-Allow-Origin을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SQL IF 명령문은 구문을 다음과 같이 조건부로 실행하는 데 사용됩니다. if (조건) 그런 다음 {state} else {state} end if;. 조건은 유효한 SQL 표현식 일 수 있으며 조건이 참이면 당시 조항을 실행하십시오. 조건이 false 인 경우 else 절을 실행하십시오. 명세서를 중첩 할 수있는 경우 더 복잡한 조건부 점검이 가능합니다.

Vue Axios의 크로스 도메인 문제를 해결하는 방법 : Cors 플러그인을 사용하여 Websocket을 사용하여 JSONP를 사용하여 Axios 프록시를 사용하여 서버 측의 CORS 헤더 구성

Apache에서 Zend를 구성하는 방법은 무엇입니까? Apache 웹 서버에서 Zend 프레임 워크를 구성하는 단계는 다음과 같습니다. Zend 프레임 워크를 설치하고 웹 서버 디렉토리로 추출하십시오. .htaccess 파일을 만듭니다. Zend 응용 프로그램 디렉토리를 작성하고 Index.php 파일을 추가하십시오. Zend 응용 프로그램 (application.ini)을 구성하십시오. Apache 웹 서버를 다시 시작하십시오.

Root로 MySQL에 로그인 할 수없는 주된 이유는 권한 문제, 구성 파일 오류, 암호 일관성이 없음, 소켓 파일 문제 또는 방화벽 차단입니다. 솔루션에는 다음이 포함됩니다. 구성 파일의 BAND-ADDRESS 매개 변수가 올바르게 구성되어 있는지 확인하십시오. 루트 사용자 권한이 수정 또는 삭제되어 재설정되었는지 확인하십시오. 케이스 및 특수 문자를 포함하여 비밀번호가 정확한지 확인하십시오. 소켓 파일 권한 설정 및 경로를 확인하십시오. 방화벽이 MySQL 서버에 연결되는지 확인하십시오.

이 기사에서는 데비안 시스템에서 NGINX 서버의 SSL 성능을 효과적으로 모니터링하는 방법에 대해 설명합니다. NginxOxporter를 사용하여 Nginx 상태 데이터를 프로 메테우스로 내보낸 다음 Grafana를 통해 시각적으로 표시합니다. 1 단계 : nginx 구성 먼저 Nginx 구성 파일에서 stub_status 모듈을 활성화하여 nginx의 상태 정보를 얻어야합니다. nginx 구성 파일에 다음 스 니펫을 추가하십시오 (일반적으로 /etc/nginx/nginx.conf에 있거나 포함 파일에 위치) : location/nginx_status {stub_status

Phpmyadmin 보안 방어 전략의 핵심은 다음과 같습니다. 1. Phpmyadmin의 최신 버전을 사용하고 정기적으로 PHP 및 MySQL을 업데이트합니다. 2. 액세스 권한을 엄격하게 제어하고, .htaccess 또는 웹 서버 액세스 제어 사용; 3. 강력한 비밀번호와 2 단계 인증을 활성화합니다. 4. 데이터베이스를 정기적으로 백업하십시오. 5. 민감한 정보를 노출하지 않도록 구성 파일을주의 깊게 확인하십시오. 6. WAF (Web Application Firewall) 사용; 7. 보안 감사를 수행하십시오. 이러한 조치는 부적절한 구성, 이전 버전 또는 환경 보안 위험으로 인해 PhpmyAdmin으로 인한 보안 위험을 효과적으로 줄이고 데이터베이스의 보안을 보장 할 수 있습니다.

악의적 인 웹 사이트 액세스에 대한 효과적인 모니터링 및 방어는 데비안 시스템의 Apache 서버에 중요합니다. Apache Access Logs는 이러한 위협을 식별하기위한 주요 정보 소스입니다. 이 기사에서는 로그를 분석하고 방어 조치를 취하는 방법을 안내합니다. 악의적 인 액세스 동작을 식별하는 Apache Access Log는 일반적으로 /var/log/apache2/access.log에 있습니다. 로그 파일 위치 확인 : 먼저 시스템 구성에 따라 약간 다를 수있는 Apache 액세스 로그의 정확한 위치를 확인하십시오. 명령 줄 도구 분석 : GREP 명령을 사용하여 GREP "404"와 같은 특정 패턴을 검색하십시오.

vprocesserazrabotkiveb-enclosed, мнепришлостольносться악 · 뇨 зейейерациигоглапи혁 맥발 추배. LeavallysumballancefriAblancefaumdoMatification, čtookazalovnetakprosto, Kakaožidal.posenesko
