Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Обработка аватар (https://forum.antichat.xyz/showthread.php?t=63964)

.:EnoT:. 11.03.2008 09:49

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

g-warning 11.03.2008 10:55

скачай и посмотри в исходнике этого форума =)
www.mvnforum.com
там в новой версии куй че с авой сделаешь)))

=)

kolpeex 11.03.2008 11:17

как вариант менять размер авы с некоторого размера до его же, т.е. узнаешь размеры рисунка и меняешь их на чуть большие и потом снова меняешь на прежние

NOmeR1 11.03.2008 16:56

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 ))))

.:EnoT:. 12.03.2008 08:21

да уж, не густо, думал больше советов будет, но хотя б на этом спасибо =/
g-warning, из другого форума вытащить и переделать нетрудно, но самому разобраться и написать гораздо лучше и прикольней))

Спасибо Номерадину, функшн работает отлично)

ещё будут советы по поводу проверки на вредоносный код?

mr.The 12.03.2008 10:16

а может скриптом аватару уменьшать до нужного размера? сразу без проверки.

etc 12.03.2008 13:45

Было уже что-то подобное: http://forum.antichat.ru/thread32694.html

kolpeex 13.03.2008 07:17

можно, кстати, еще антивирем проверять: наверняка, их эвристики распознают картинку, эксплуатирующую багу в каком-нить браузере :)))

Isis 13.03.2008 07:46

NOmeR1, более легкий способ:

PHP код:

<?php
$image 
getimagesize('image.jpg');
if(!
$image[0]) echo 'Это нифига не картинка!!!!';
?>


Евгений Минаев 13.03.2008 08:56

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';




Время: 22:46