#php #security #post #mcrypt
#php #Безопасность #Публикация #mcrypt
Вопрос:
Привет, ребята. Я пытаюсь создать appstore для веб-сервиса, и я застрял в части безопасности. Основная идея appstore заключается в следующем: на уже установленной платформе пользователь может устанавливать темы, скины, образцы контента или плагины. Процесс будет работать следующим образом:
- в резервной копии пользователь нажмет на кнопку установить;
- с помощью ajax будет вызвана php-функция с локального сервера, которая отправит удаленную публикацию на главный сервер
- вызов содержит ключ mcrypt (MCRYPT_RIJNDAEL_128) на основе serialize(массив(‘id’=>$unique_id,’url’=>site_url);
- Аргументы проверяются на удаленном сервере, и если указанному URL-адресу в удаленной базе данных присвоен уникальный идентификатор, обновление будет отправлено обратно.
- $unique_id хранится внутри базы данных. Пользователь не имеет доступа к файлам php или не имеет доступа к ключам, хранящимся внутри базы данных. Кроме того, ключи, используемые для шифрования массива, хранятся внутри базы данных.
Удаленный вызов выполняется с сервера на сервер. У пользователя нет прямого доступа к аргументам вызова или деталям вызова.
Насколько безопасно все это?
Ответ №1:
Я предполагаю, что уникальным идентификатором может быть какой-то автоматический номер, который может быть кем-то угадан (может быть, не всегда). Если вы хотите большей безопасности, выполните какое-либо шифрование и отправьте, со стороны сервера снова выполните расшифровку и проверьте, является ли это допустимой записью или нет, и обработайте соответствующим образом.