Мои предположения:
- вы используете свой собственный JSON для создания веб-службы,
- вы используете чужой JSON для создания веб-службы, или3. вы пытаетесь создать свой собственный JSON API.
Используя свой собственный JSON
ПОЧЕМУ вы это делаете?Все проще, если вы просто придерживаетесь php.Просто сделай печенье.Если вы хотите использовать JSON, для него все еще требуются файлы cookie!То же самое, но гораздо сложнее и проще взломать!
Использование JSON, предоставляемого другим сайтом
Прежде всего, это не JSON.Это массив.Если тот код, который вы предоставили, был уже преобразован из json в массив, давайте изменим это:
$string = file_get_contents("http://www.website.com/api.json"); // gets file content
$decoded=json_decode($string); // creates objects (not array... this makes it easier (for me))
$item = $decoded->item-string; // generates the string from an item's name
Повторите $ item, если вам нужно более одного.
используйте $item = $decoded->item-string->secondary-item-string;
, чтобы получитьэлемент внутри элемента.
Создание собственного API входа в систему
Прежде всего, вы вообще не используете JSON.Я считаю, что это выходной массив PHP.Вы можете использовать json_encode для кодирования массива в JSON.
Вместо того, чтобы разработчики сайтов напрямую создавали форму входа (что, я думаю, вы пытаетесь сделать), позвольте им использовать ВАШУ систему входа в систему.Таким образом, они не могут тайно «красть» пароли, делая ложный вход в систему… и т. Д., И т. Д.
Сначала создайте php-файл, например, loginapi.php .Используйте htaccess для перезаписи loginapi.php в loginapi.json ( Rewrite Engine ), а затем создайте файл .html для формы входа, например loginform.html
Предполагается, что вы используете $ isloggedin, чтобы проверить, вошел ли пользователь в систему:
header ('Content-type: text/javascript; charset=utf-8');
if($isloggedin == "yes"){
$arr = array("isloggedin" => "yes", "item1" => "output1", "item2" => "output2", "item3" => "output3");
}
else {
$arr = array("isloggedin" => "no", "html" => "<iframe src=\"http://www.yoursite.com/loginform.html\" width=\"400\" height=\"200\" style=\"border:none;\"></iframe>");
}
echo json_encode($arr);
↑ Это сообщает разработчику, вошел ли пользователь в систему или нет.10
Вы также можете сделать «ключ API», чтобы
- Вы могли узнать всех разработчиков, которые используют ваш API
- Вы можете контролировать / ограничиватьлюди, которые используют ваш API
Для этого вы должны создать таблицу в вашей базе данных для ключей API разработчика.Затем используйте $ _GET ['key'];чтобы проверить, есть ли ключ API или нет.Затем проверьте базу данных на наличие соответствующего ключа API или нет.
В месте, где вы принимаете разработчиков для ключей API, позвольте разработчику ввести URL своего веб-сайта и используйте хеш для создания ключа, например, md5.