2013-12-14 2 views
0

У меня есть сайт, где люди могут загружать фотографии и обрезать их. Код, чтобы сделать загрузку ниже:Безопасность сайта - ограничение количества разрешенных фотографий

<form action="scripts/ajax/ajax_photo_processing_functions.php?photos=photoUpload method="post" enctype="multipart/form-data"> 
     <input type="file" name="file"><br> 
    </form> 

Я хотел спросить, должен ли я иметь дело с загрузкой людей (или с помощью скрипта/бут/хак /), чтобы загрузить бесконечное количество фотографий, пока сервер/Файловая система php была заполнена на 100% и потенциально вызвала падение сервера.

Я понимаю, что это глупый вопрос, но я просто хотел понять, понимают ли другие люди это как проблему и что они могут с этим поделать?

ТНХ

+0

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

+0

То же самое относится к любому запросу POST-запроса: http://stackoverflow.com/questions/2364840/what-is-the-size-limit-of-a-post-request –

ответ

1

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

1

Предотвратить Чрезмерная Загрузить

  • Предельное число пользователей фото можно загрузить на определенный период. Например: один IP-адрес может загружать только 5 изображений за 10 минут.
  • Предельный размер на фото. Например: 2 мб на фотографию.

Free Ненужные файлы

  • Даже мы можем предотвратить пользователю быстро загрузить файл, они могут загружать много неиспользованного фото и в конце концов, он будет строить. У вас может быть одна программа, чтобы проверить, не было ли какое-либо изображение не использовано в течение 3 месяцев, и удалите их.

Предотвращение Duplicate Photo

  • Вы можете хэширования каждую загруженную картинку. Если новое загруженное изображение существует, проверьте, совпадает ли содержимое существующего изображения и новое загруженное изображение.

Предотвращение Крупномасштабные атаки

  • Даже если предельное число изображение, которое может быть загружено помогает, это не помогает Если они атакуют, используя 10000 различных IP для загрузки изображения. У вас может быть глобальный счетчик, если в последний период 10 минут загружено более 1 000 изображений, включите глобальный captcha, что означает, что пользователю необходимо ввести captcha для загрузки изображения.
Смежные вопросы