Я работаю над несколькими небольшими проектами, и, возможно, гораздо позже, которые будут использовать базовую аутентификацию HTTP для извлечения и публикации данных. Некоторые примеры API: MongoHQ и Wufoo .
Проекты основаны на AJAX и предназначены для разных людей. Для прототипа у меня на сервере есть скрипт PHP, который просто говорит следующее, чтобы превратить ответы JSON в JSONP:
<?php
echo $_GET['callback'].'('+file_get_contents($_GET['url'])+')';
?>
Проблема в том, что мой вызов JSONP содержит значение user:pass
, любой может просто просмотреть исходный код, скопировать пользователя и передать его, а затем сделать запрос POST.
Есть ли способы сделать это безопасным, не делая все вызовы API напрямую через PHP и позволяющие мне использовать один и тот же скрипт из нескольких проектов? В идеальном мире я мог бы написать один скрипт, который позволил бы мне выполнять базовые HTTP-аутентификации, и мне больше никогда не приходилось бы прикасаться к этому файлу, независимо от того, какой API, а пользователь и пароль каким-то образом скрыты (как в моем примере выше).