Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

11.03.2008, 09:49
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Обработка аватар
Пишу я форум, дело дошло до аватар.
Вопрос такой: Как грамотно обрабатывать заливку аватар? чтобы всякие кульхацкеры не лили авы с вредоносным кодом и как лучше всего с размером авок быть, ибо хекс-эдитором многие пользоваться умеют, слышал что по хидерам размер авок лучше не читать. Почитал несколько статей, у самого несколько мыслей...в общем всё смешалось в кучу, не знаю на чём остановиться....в общем кто что подскажет по этому поводу? Загрузку буду делать только с компа, удалённые хосты отмёл сразу...ну нафиг
|
|
|

11.03.2008, 10:55
|
|
Участник форума
Регистрация: 28.12.2007
Сообщений: 103
Провел на форуме: 671441
Репутация:
50
|
|
скачай и посмотри в исходнике этого форума =)
www.mvnforum.com
там в новой версии куй че с авой сделаешь)))
=)
|
|
|

11.03.2008, 11:17
|
|
Новичок
Регистрация: 17.02.2008
Сообщений: 28
Провел на форуме: 68228
Репутация:
39
|
|
как вариант менять размер авы с некоторого размера до его же, т.е. узнаешь размеры рисунка и меняешь их на чуть большие и потом снова меняешь на прежние
|
|
|

11.03.2008, 16:56
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
PHP код:
<?php
function image_bool($filename, $width, $height) {
$size = getimagesize($filename);
if($size[0] <= $width && $size[1] <= $height) {
if($size[2] != 0) {
return true;
} else {
return false;
}
} else {
return false;
}
}
?>
bool image_bool ( string filename, int width, int height )
Возвращает TRUE, если изображение корректно, его ширина не больше, чем width, а длинна не больше height ))))
|
|
|

12.03.2008, 08:21
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
да уж, не густо, думал больше советов будет, но хотя б на этом спасибо =/
g-warning, из другого форума вытащить и переделать нетрудно, но самому разобраться и написать гораздо лучше и прикольней))
Спасибо Номерадину, функшн работает отлично)
ещё будут советы по поводу проверки на вредоносный код?
|
|
|

12.03.2008, 10:16
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
а может скриптом аватару уменьшать до нужного размера? сразу без проверки.
|
|
|

12.03.2008, 13:45
|
|
Постоянный
Регистрация: 16.02.2008
Сообщений: 724
Провел на форуме: 1025839
Репутация:
581
|
|
Было уже что-то подобное: http://forum.antichat.ru/thread32694.html
|
|
|

13.03.2008, 07:17
|
|
Новичок
Регистрация: 17.02.2008
Сообщений: 28
Провел на форуме: 68228
Репутация:
39
|
|
можно, кстати, еще антивирем проверять: наверняка, их эвристики распознают картинку, эксплуатирующую багу в каком-нить браузере  ))
|
|
|

13.03.2008, 07:46
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
NOmeR1, более легкий способ:
PHP код:
<?php
$image = getimagesize('image.jpg');
if(!$image[0]) echo 'Это нифига не картинка!!!!';
?>
|
|
|

13.03.2008, 08:56
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 70
Провел на форуме: 1214722
Репутация:
676
|
|
Exif_imagetype читает сигнатуру файла и проверяет на корректность.Я бы этой функцией не стал бы пользоваться, а применил бы самый эффективный метод imagecreatefrom*+imagecopyresampled+image* который вырежет из картинки всю ненужную информацию вроде дописанных в конце или в середине файла данных.GetImageSize использовать грешно xD
PHP код:
/**
* When a correct signature is found, the appropriate *
* constant value will be returned otherwise the return
* value is FALSE. The return value is the same
* value that getimagesize() returns in index 2 but exif_imagetype()
* is much faster.
*/
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
echo 'The picture is not a gif';
}
Последний раз редактировалось Евгений Минаев; 13.03.2008 в 09:00..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|