PHP может быть доступен исключительно SWF - PullRequest
3 голосов
/ 24 марта 2010

Я не уверен, как это описать, но в основном у меня есть файл класса PHP:

class HelloHello {

   public function getSomeData($input_parameter){
     // code to retrieve data from the database
   }

   public function deleteSomeData($input_parameter){
    // code to delete data from the database
   }
}

Этот класс находится на сервере и является частью серверной части, которая соединяется с базой данных, и к ней должен обращаться только интерфейсный SWF-файл (прямой доступ к нему не предоставляется). Я настроил Flex для чтения этого класса и доступа к нему. Но как мне убедиться, что кто-то не разрабатывает скрипт, который может напрямую вызывать этот php-файл и получать доступ к его методам? Например, используя скрипт для быстрого добавления данных или используя метод удаления напрямую, ой.

Это законное беспокойство или это невозможно сделать?

Ответы [ 4 ]

1 голос
/ 24 марта 2010

Если пользователь может просматривать его через ваше приложение Flash, он может просматривать его с помощью своего приложения. Вы могли бы пройти через [безобразный] беспорядок, пытаясь «обезопасить» свой сценарий, введя файлы cookie, аутентификацию и тому подобное, но это грязно, и, конечно, его можно обойти.

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

0 голосов
/ 24 марта 2010

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

Для некоторых базовых математических оснований в Интернете достаточно документации.

0 голосов
/ 24 марта 2010

Вы можете защитить свой файл, добавив защиту и аутентификацию. Если вы не можете сделать это (это общедоступное приложение), вам следует внедрить некоторые методы, которые могут предотвратить определенные ситуации: не разрешать вызов своего сценария слишком много раз в секунду с одного и того же IP, добавьте CAPTHCA, чтобы проверить, что введенные данные были от человека, а не от машины, а может, и от других.

0 голосов
/ 24 марта 2010

Если вы знаете URL, по которому работает swf, разве вы не можете просто в PHP ограничить количество запросов этим URL? Не обращайте внимания на все другие запросы.

...