"NuSOAP 기본 인증 적용"의 두 판 사이의 차이

49번째 줄: 49번째 줄:


[[분류: NuSOAP]]
[[분류: NuSOAP]]
[[분류: 보안]]

2012년 10월 29일 (월) 23:44 판

NuSOAP에 기본 인증 적용
NuSOAP + HTTP 기본 인증

1 사전 작업

2 server2.php

<?php
require_once('/var/www/html/nusoap/lib/nusoap.php');
$server = new nusoap_server;
$server->configureWSDL('Welcome');
$server->register("hello",
	array('name' => 'xsd:string'),
	array('return' => 'xsd:string'));
function hello($name) {
	if( !is_auth() ) return;
	return "Hello, $name!";
}
function is_auth() {
	if(!isset($_SERVER['PHP_AUTH_USER'])) return false;
	if(!isset($_SERVER['PHP_AUTH_PW'])) return false;
	if($_SERVER['PHP_AUTH_USER']!='jmnote') return false;
	if($_SERVER['PHP_AUTH_PW']!='P@ssw0rd') return false;
	return true;	
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>

3 client2.php

<?php
require_once '/var/www/html/nusoap/lib/nusoap.php';
$client = new nusoap_client('http://jmnote.com/nusoap/server2.php?wsdl', true);
$client->setCredentials('jmnote','P@ssw0rd','basic');
$result = $client->call('hello', array('name'=>'John Smith'));
print_r($result);
?>
→ 기본 인증 아이디/패스워드가 맞지 않으면 SOAP 서비스 이용 불가.

4 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}