На моем сайте часто нападают хакеры. Они загружают php и sql-коды в поле изображения. Поэтому мне нужно ограничить это. Как я могу сделать это возможным, т. Е. Нумерация кода должна быть разрешена через поля ввода. Просьба представить некоторые рекомендации по повышению безопасности, также как введение capcha.Ограничение загрузки изображения в PHP
ответ
Ну вы действительно должны проверить все, что приходит в, вот набор руководств:
Предположим, что ваш входной файл с именем «образ»:
$file = $_FILES["image"];
$allowedSize = 5000;
$extensions = array("jpg", "png"); // allowed extensions
if(getimagesize($file['tmp_name']) == false)
{
// this is not an image
}
else
{
// check the size
if($file['size'] < $allowedSize)
{
$pathinfo = pathinfo($file); // now check extension
if(in_array($pathinfo['extension'], $extensions))
{
// do the upload
}
}
}
Хороший подход для лечения любого пользователя ввод в качестве потенциальной атаки.
Выполнить расширение файла и файл сравнение типа на любом и все пользователя закачал файлы. Используйте белый список для достижения этого на практике.
Если $_FILES['file_upload']
является загруженным файлом, убедитесь, что он соответствует любому из белых списка расширений:
PHP код
$whitelist = array(
'jpg',
'png',
'jpeg',
'gif'
);
$pathinfo = pathinfo($_FILES['file_upload']);
if (!in_array($pathinfo['extensions'], $whitelist))
{
echo 'This extension is not allowed.';
exit;
}
Кроме того, вы также можете проверить загруженный файл MIME content type:
Код PHP
$whitelist = array(
'image/jpg',
'image/jpeg',
'image/pjpeg',
'image/gif',
'image/png',
'image/x-png'
);
$mime_type = $_FILES['file']['type'];
if (!in_array($mime_type, $whitelist))
{
echo 'This file format is not allowed.';
exit;
}
Приведенный выше код будет гарантировать, что ваши пользователи могут только загрузки GIF, JPG, PNG и изображения - без соблюдения использование только их наиболее распространенных форматов, оставляя меньше места для ошибок.
Кроме того, если у вас есть другие уязвимые входы (текст/текстовая область), убедитесь, что вы правильно дезинфицируете все, что получено. Я рекомендую читать следующее: http://php.net/manual/en/security.database.sql-injection.php
- 1. Ограничение загрузки файлов PHP
- 2. Ограничение загрузки PHP (Webmatrix)
- 3. Ограничение файла для загрузки PHP
- 4. Ограничение для загрузки изображения на сайте
- 5. php Ограничение размера файла для загрузки изображений?
- 6. Ограничение скорости загрузки в веб-фреймах PHP
- 7. Ограничение загрузки с текстовым файлом в PHP
- 8. Загрузки изображения PHP/HTML
- 9. Ограничение загрузки файлов
- 10. PHP тип MIME, ограничение загрузки файлов
- 11. Ограничение загрузки видео
- 12. php cURL - Медленное ограничение загрузки - как оптимизировать?
- 13. Ограничение на размер файла изображения для загрузки и выгрузки
- 14. Ограничение скорости загрузки с помощью PHP
- 15. Ограничение скорости загрузки с использованием PHP
- 16. Менеджер загрузки - ограничение скорости загрузки
- 17. PHP ошибка загрузки файла изображения
- 18. Отправка формы загрузки изображения PHP
- 19. Создание загрузки динамического изображения PHP
- 20. Проблема с сохранением загрузки изображения в php
- 21. wget встроенный в php для загрузки изображения
- 22. Ошибка загрузки изображения php в Chrome
- 23. изменить размер изображения после загрузки в PHP
- 24. ошибка загрузки изображения в PHP MySQL
- 25. ограничение размера загрузки в codeigniter
- 26. Ограничение размера для загрузки
- 27. Ограничение загрузки C#
- 28. Ограничение времени загрузки файла
- 29. Ограничение памяти PHP
- 30. Как определить максимальное ограничение загрузки файлов в php
проверить тип файла, если какой-либо один файл для загрузки, чтобы узнать больше, как проверить тип, пожалуйста, обратитесь к этому URL-адресу http://stackoverflow.com/questions/6755192/uploaded-file-type-check- by-php –
Убедитесь, что вы не храните файлы с расширением файла, которое веб-сервер обрабатывает как PHP. Вам следует лучше принимать только белые версии файлов или изменять расширение файла в соответствии с типом обнаруженного изображения. – Gumbo
@LalitSharma Это абсолютно бесполезно. Сервер не заботится о представленном типе носителя при принятии решения о том, как обрабатывать файл, кроме того, что это может быть подделано. – Gumbo