Предотвращение доступа к скриптам PHP, используемым в приложении iPhone, через веб-браузер - PullRequest
0 голосов
/ 11 апреля 2009

Я пытаюсь получить больше информации по вопросу, который я задал в другой теме

Обычно я использую этот метод для передачи параметров в скрипт php, который возвращает значения с сервера:

NSString *urlstr = [[NSString alloc] initWithFormat:@"http://www.yourserver.com/yourphp.php?param=%d", paramVal];
NSURL *url = [[NSURL alloc] initWithString:urlstr];
NSString *ans = [NSString stringWithContentsOfURL:url];
// here in ans you'll have what the PHP side returned. Do whatever you want
[urlstr release];
[url release];

Тогда я задаю вопрос. Как вы защищаете 'http://www.yourserver.com/yourphp.php'? Вы можете легко перейти к тому же сценарию (если вы знаете путь) и передать любые параметры, которые вы хотите. Я что-то упустил?

Ответы [ 4 ]

2 голосов
/ 11 апреля 2009
$_SERVER['HTTP_USER_AGENT'];

Покажет вам доступный пользовательский агент, но пользовательские агенты, безусловно, могут подделывать, единственным вариантом будет заблокировать параметр, проверив наличие определенных символов, которые, как вы знаете, никогда не будут переданы через него, возможно, добавьте еще один (фиктивный Перам просто для дополнительной безопасности. Кроме этого нет другого способа обезопасить его.

2 голосов
/ 11 апреля 2009

Вы можете использовать MAC исходящих данных для отправки вместе.

Это позволяет избежать использования полной аутентификации фреймворка (и сессий в этом отношении).

Это, однако, уязвимо для повторной атаки, но наверняка подтвердит, что сообщение пришло из вашего приложения.

http://en.wikipedia.org/wiki/Message_authentication_code

0 голосов
/ 11 апреля 2009

Проверка вашего ввода на стороне PHP; Если какие-либо входные данные верны, то сгенерируйте пароль и передайте его вместе с параметром, который будет проверяться, прежде чем предпринимать какие-либо действия.

Пароль должен быть как можно более временным, в идеале он должен основываться на одноразовом сообщении с сервера, содержащем некоторые данные, которые генерирует приложение (т. Е. Оно не сохраняется), и сервер знает заранее.

0 голосов
/ 11 апреля 2009

Нет, вы ничего не упускаете. Ну, кроме рамки авторизации. :)

PHP - не самая лучшая платформа для защиты веб-приложений, но вы можете использовать Библиотека авторизации Pear * .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...