на сервере все сохраняется так:
$file = fopen($name.'.png', "wb") or die("res=error");
fwrite($file, $GLOBALS["HTTP_RAW_POST_DATA"]);
подскажите каким образом можно:
1 проверить размер $GLOBALS["HTTP_RAW_POST_DATA"], дабы никто не пытался загрузить на сервер что-то огромное (в средняем вес картинки около 100 кб)
2 проверить, что бы это была картинка, а не какой-нибудь шел, или еще что-то, что может навредит...
заранее спасибо за ответы!
Спустя 47 минут, 28 секунд (29.07.2011 - 16:35) killer8080 написал(а):
Цитата (John Cena @ 29.07.2011 - 15:48) |
1 проверить размер $GLOBALS["HTTP_RAW_POST_DATA"], дабы никто не пытался загрузить на сервер что-то огромное (в средняем вес картинки около 100 кб) |
в php.ini есть ограничение на размер загружаемых через пост данных
upload_max_filesize и post_max_size
а вообще размер в байтах
$size = strlen($GLOBALS["HTTP_RAW_POST_DATA"]);
Цитата (John Cena @ 29.07.2011 - 15:48) |
2 проверить, что бы это была картинка, а не какой-нибудь шел, или еще что-то, что может навредит... |
Спустя 38 минут, 33 секунды (29.07.2011 - 17:14) John Cena написал(а):
да, короче долго объяснять в чем там прикол, но единственный способ которым я могу отправить на сервер эту картинку - это только байт-массив...
есть еще второй вариант - это закодировать этот байт-массив в json, но я не уверен в таком решении задачи так как боюсь что этот байт-массив сильно вырастет в размере...
есть еще второй вариант - это закодировать этот байт-массив в json, но я не уверен в таком решении задачи так как боюсь что этот байт-массив сильно вырастет в размере...
Спустя 24 минуты, 22 секунды (29.07.2011 - 17:38) killer8080 написал(а):
Цитата (John Cena @ 29.07.2011 - 17:14) |
да, короче долго объяснять в чем там прикол, но единственный способ которым я могу отправить на сервер эту картинку - это только байт-массив... |
я так понял речь идёт о флешовом загрузчике? Тогда советую не изобретать велосипед, а применить swfupload
Цитата (John Cena @ 29.07.2011 - 17:14) |
есть еще второй вариант - это закодировать этот байт-массив в json, но я не уверен в таком решении задачи так как боюсь что этот байт-массив сильно вырастет в размере... |
не понял причём тут json

Спустя 3 часа, 9 минут, 10 секунд (29.07.2011 - 20:48) John Cena написал(а):
нет. флеш-загрузчик, это то что меня ждет впереди)
а сейчас у меня что-то типа рисовалки в контакте, и вот она отправляет такую фигню на сервер и я боюсь, что кто-то может послать туда свои байт-массивы в которых может быть все что угодно... и поэтому я щас ломаю голову как себя обезопасить от всякого рода гадов, которые будут лезть туда, куда не надо
а сейчас у меня что-то типа рисовалки в контакте, и вот она отправляет такую фигню на сервер и я боюсь, что кто-то может послать туда свои байт-массивы в которых может быть все что угодно... и поэтому я щас ломаю голову как себя обезопасить от всякого рода гадов, которые будут лезть туда, куда не надо
Спустя 56 минут, 42 секунды (29.07.2011 - 21:44) killer8080 написал(а):
Цитата (John Cena @ 29.07.2011 - 20:48) |
я боюсь, что кто-то может послать туда свои байт-массивы в которых может быть все что угодно... и поэтому я щас ломаю голову как себя обезопасить от всякого рода гадов, которые будут лезть туда, куда не надо |
ну шел таким путём залить не получиться, файл ведь будет сохранён с расширением png, но действительно файлы проверять нужно, например так
$img = getimagesize($name.'.png');
if(substr($img['mime'], 0, 5) != 'image'){
unlink($name.'.png');
}
Спустя 21 час, 37 минут, 28 секунд (30.07.2011 - 19:22) John Cena написал(а):
понял, спасибо!