under22
چهارشنبه 08 بهمن 1393, 10:11 صبح
داخل پروژم میخام از nusoap استفاده کنم .
اول میخاستم بدونم تابع setCredentials دقیقا کارش چی هست و چه نقشی تو امنیت داده ها داره و چطوری میشه ازش استفاده کرد؟؟
تو نحوه استفاده از soap مشکلی ندارم داخل سرور یه تابع میسازم و register میکنم و نوع ورودی و خروجیش رو مشخص میکنم نمونه کد هام رو هم میزارم اما سوال اصلیم اینه که میخام این سرویس کاملا امن باشه اما چون آشنایی کاملی با nusoap ندارم نمیدونم باید چیکار کنم دوستانی که قبلا کار کردن بگن چطوری میشه این نمونه کد ها رو امنیت تر کرد ؟؟؟
<?php
include 'nusoap_client.php';
//func1
function reza($name='name',$email='email',$phone='phone')
{
return "myname is $name and email is $email and phone $phone";
}
//func2
function get_message($number=10)
{
return "You get $number";
}
//func3
function get_message2()
{
return time();
}
$namespace = 'http://example.org';
$server = new nusoap_server();
$server->soap_defencoding = 'UTF-8';
$server->configureWSDL('hamid_webservice');
$server->wsdl->schemaTargetNamespace = $namespace;
//func1
$server->register('reza',
array('name' => 'xsd:string', 'email' => 'xsd:string','phone' => 'xsd:integer'),
array('return' => 'xsd:string'),'http://soapinterop.org');
//func2
$server->register('get_message',
array('number' => 'xsd:integer'),
array('return' => 'xsd:string'),'http://soapinterop.org');
//func3
$server->register('get_message2',
array(),
array('return' => 'xsd:string'),'http://soapinterop.org');
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])
? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
$server->service($POST_DATA);
exit();
و فایل کلاینت
<?php
include 'nusoap_client.php';
$client = new nusoap_client('http://localhost/a_test/hamid/server.php?wsdl');
$err = $client->getError();
if($err)
{
print_r($err);
die;
}
//func1
echo $client->call('reza',array('reza','info@rezaonline.net','93 60'));
echo '<hr>';
echo $client->call('get_message',array(25));
echo '<hr>';
echo $client->call('get_message2');
اول میخاستم بدونم تابع setCredentials دقیقا کارش چی هست و چه نقشی تو امنیت داده ها داره و چطوری میشه ازش استفاده کرد؟؟
تو نحوه استفاده از soap مشکلی ندارم داخل سرور یه تابع میسازم و register میکنم و نوع ورودی و خروجیش رو مشخص میکنم نمونه کد هام رو هم میزارم اما سوال اصلیم اینه که میخام این سرویس کاملا امن باشه اما چون آشنایی کاملی با nusoap ندارم نمیدونم باید چیکار کنم دوستانی که قبلا کار کردن بگن چطوری میشه این نمونه کد ها رو امنیت تر کرد ؟؟؟
<?php
include 'nusoap_client.php';
//func1
function reza($name='name',$email='email',$phone='phone')
{
return "myname is $name and email is $email and phone $phone";
}
//func2
function get_message($number=10)
{
return "You get $number";
}
//func3
function get_message2()
{
return time();
}
$namespace = 'http://example.org';
$server = new nusoap_server();
$server->soap_defencoding = 'UTF-8';
$server->configureWSDL('hamid_webservice');
$server->wsdl->schemaTargetNamespace = $namespace;
//func1
$server->register('reza',
array('name' => 'xsd:string', 'email' => 'xsd:string','phone' => 'xsd:integer'),
array('return' => 'xsd:string'),'http://soapinterop.org');
//func2
$server->register('get_message',
array('number' => 'xsd:integer'),
array('return' => 'xsd:string'),'http://soapinterop.org');
//func3
$server->register('get_message2',
array(),
array('return' => 'xsd:string'),'http://soapinterop.org');
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])
? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
$server->service($POST_DATA);
exit();
و فایل کلاینت
<?php
include 'nusoap_client.php';
$client = new nusoap_client('http://localhost/a_test/hamid/server.php?wsdl');
$err = $client->getError();
if($err)
{
print_r($err);
die;
}
//func1
echo $client->call('reza',array('reza','info@rezaonline.net','93 60'));
echo '<hr>';
echo $client->call('get_message',array(25));
echo '<hr>';
echo $client->call('get_message2');