Для некоторых URL-адресов службы требуется пароль для имени пользователя. В этой статье мы рекомендуем использовать прокси-скрипт на сервере. Не используйте пары паролей имени пользователя в приложениях JavaScript. Например, у меня есть служба, указанная для меня, URL-адрес, как это:
http://service.com/service?request=get&category=products&username=some&password=123456
Эта услуга не дает мне продукты без пары имя пользователя и пароль.
Я должен создать страницу прокси с PHP, Aspx, Java или другим. Я создаю прокси с PHP.
http://localhost/my/proxy.php
$url = "http://service.com/service?request=get&category=products&username=some&password=123456";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
$result = curl_exec($ch);
Теперь я могу использовать http://localhost/my/proxy.php
в моем коде JavaScript. Но каждый может отправить запрос на мой прокси и получить мои продукты. Это проблема еще. Как я могу решить это?
Разрешить только POST-запросы к URL
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// code
}
Дайте токен (с файлами cookie) доверенным пользователям и проверьте токен перед предоставлением услуги
//setting the token
setcookie(name, value, expire, path, domain);
//authentication
if (isset($_COOKIE[$cookie_name]) && $_COOKIE[$cookie_name] == $token){
// code
}
Используйте сессии вместо куки
//starting session mechanism
session_start();
//setting session
$_SESSION['token'] = $token;
//authentication
if (isset($_SESSION['token']) && $_SESSION['token'] == $token){
// code
}
Других решений пока нет …