2015-05-30 1 views
2

У меня есть сайт электронной торговли, в котором регулярно происходят транзакции. Теперь мы разрабатываем приложение для Android. Поэтому мне было предложено создать API с использованием PHP. API, который я создал, был в формате xml. Но теперь, когда я буду отправлять ему учетные данные, я боюсь, что кто-то его взломает. Так может кто-то помочь мне с этим.Как создать защищенный API с использованием PHP в XML-формате?

вот так, как я создал XML API с помощью PHP ..

<?php 

include 'config.php'; 
include 'database.php'; 

$sqlCat = "select category_id,image,name from table" ; 
$categories = DatabaseHandler::GetAll($sqlCat); 

$xml = new DomDocument("1.0","UTF-8"); 

$content = $xml->createElement("content"); 
$content = $xml->appendChild($content); 

foreach($categories as $category) { 
    $item = $xml->createElement("item"); 

    $catName = $xml->createElement("catName",htmlspecialchars($category['name'])); 
    $catName = $item->appendChild($catName); 

    $catImage = $xml->createElement("catImage",htmlspecialchars($category['image'])); 
    $catImage = $item->appendChild($catImage); 

    $sql = "select image,name,model,price,quantity from table; 
    $results = DatabaseHandler::GetAll($sql); 

    foreach($results as $key=>$result) { 
     $product = $xml->createElement("product"); 
     $product->setattribute('id',$key); 

     $model = $xml->createElement("model",$result['model']); 
     $model = $product->appendChild($model); 

     $name = $xml->createElement("name",htmlspecialchars($result['name'])); 
     $name = $product->appendChild($name); 

     $image = $xml->createElement("image",htmlspecialchars($result['image'])); 
     $image = $product->appendChild($image); 

     $price = $xml->createElement("price",$result['price']); 
     $price = $product->appendChild($price); 

     $product = $item->appendChild($product);  
    } 

    $item = $content->appendChild($item); 
} 

$xml->FormatOutput = true; 
$output = $xml->saveXML(); 
$xml->save("categories.xml"); 


?> 

и я получаю XML в таком виде ..

<content> 
<item> 
<catName>Comp</catName> 
<catImage/> 
<product id="0"> 
<model>156443</model> 
<name>CD</name> 
<image>109.jpg</image> 
<price>48</price> 
</product> 
<product id="1"> 
<model>46876</model> 
<name>memory card</name> 
<image>81.jpg</image> 
<price>12</price> 
</product> 
<product id="2"> 
<model>865793</model> 
<name>drive</name> 
<image>51.png</image> 
<price>2</price> 
</product> 
</item> 
</content> 

Может кто-то сказать, является ли способ я есть созданный API в формате XML.

ответ

0

Dont сделать думаю слишком сложный сделать это просто, как следующий код

$ CON = mysql_connect ("локальный", "корень", "корень") или умереть ("не удалось подключиться" .mysql_error());

//select your database table 

mysql_select_db("android_maps", $con) or die("Could not select database".mysql_error()); 

//get your results with a mysql query 

$result = mysql_query("SELECT gmaps.*, urls.* FROM gmaps, urls WHERE urls.idgmaps = gmaps.idgmaps") or die(mysql_error()); 

//run a while loop get your data. 

while($location = mysql_fetch_array($result)) { 

$output = '<?xml version="1.0" encoding="utf-8"?>'; 
$output .= '<data>'; 
$output .= "<lat>".$location['lat']."</lat>"; 
$output .= "<long>.".$location['lon']."</long>"; 
$output .= "<description>.".$location['description']."</description>"; 
$output .= '</data>'; 
print $output; 

} 

mysql_close($con); 

}else{ 

echo "<h1>No results to show for you query</h1>"; 

} 

для получения дополнительной информации

http://teachingyou.net/php/php-api-development-dreaming-of-your-own-api-make-it-possible-today/

Смежные вопросы