Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Открыть новую тему     Написать ответ в эту тему

Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ну и не забывайте проверять, что файл есть, перед началом всего.. а также нужно действие когда неподдерживаемый типа файла.
если кто подсунет картинку шириной в пиксель, то по высоте растянет сильно.. плюс если картинка будет пустая, с нулевыми размерами - проверить, дабы не было деления на ноль в  
Вот об этом я совершенно не подумал!
 
Спасибо!
 
А можно средствами РНР организовать наложение изображений?
 
if ($height_old > $width_old)
 
то создаем новое пустое (или белое)  квадратное изображение со сторонами  $height_old и накладываем на него старое изображение, сместив по оси Х на ($height_old - $width_old)/2, то есть, по середине.
 
Как это можно сделать?
 
 
 
 
 
 
 

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 23:01 21-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Как это можно сделать?

у вас так и есть
создаете $image = imageCreateTrueColor(.....);
заливаете белым фоном
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
 
копируете со смещением (почитайте аргументы функции)
imageCopyResampled

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 23:03 21-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А почему вот эта конструкция
 
    if () хх;
    elseif () хх;
    elseif () хх;
 
предпочтительнее прежней?
 
    if () хх;
    if () хх;
    if () хх;

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 10:52 22-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
предпочтительнее прежней?

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

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 10:59 22-08-2022 | Исправлено: Mavrikii, 10:59 22-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а зачем вам каждое условие проверять, если выполнено будет первое
Совершенно с Вами согласен!
 
* * *    
 
Как я заметил, при такой обработке анимированного гифа анимация исчезает.  
Это неизбежно?  

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 11:33 22-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Это неизбежно?  

да, потому что gd не поддерживает анимацию.
для этого нужен либо другой модуль
https://www.php.net/manual/en/book.imagick.php
либо консольные средства в системе.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 11:38 22-08-2022 | Исправлено: Mavrikii, 11:40 22-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А есть ли способ понять, является ли закачанный гиф анимацией?  
 
(Не прибегая к ImageMagick)

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 12:29 22-08-2022 | Исправлено: Vladsvn, 12:50 22-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn
комменты смотрите
https://www.php.net/manual/en/function.imagecreatefromgif.php#88005

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 20:36 22-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это получилось, спасибо!

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 16:28 24-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На индексной странице среди прочих присутствуют вот такие коды
 
$user_id = (int)$_SESSION['USER_ID']; // Узнаем посетителя
...
<script>var user_id = <?php echo isset($user_id) ? $user_id : 0; ?>;</script>
<script src="main.js"></script>
 
Таким образом, посетитель, в том числе злоумышленник, может узнать свой USER_ID, и вообще структуру USER_ID. Которая, к тому же, очень проста - это просто номер строки в таблице регистрации посетителей.
 
Не может ли эта информация способствовать взлому сайта?  

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 09:36 26-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Не может ли эта информация способствовать взлому сайта?  

нет, только если не написано изначально дыряво (например этот id используется в форме и не проверяется при обновлении данных пользователя).
непонятно зачем эта информация нужна js коду, если она уже есть в сессии.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 09:40 26-08-2022 | Исправлено: Mavrikii, 09:42 26-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
непонятно зачем эта информация нужна js коду, если она уже есть в сессии.

Используется в файле main.js в выражениях
if (user_id !== 0)
if (user_id == 0)
if (focus && user_id !== 0)
 
Как тут без этого обойтись?

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 11:17 26-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn
Да при чем тут эти выражения. Я же написал,что может быть опасно. Если таких дыр нет, то это не представляет опасности.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 12:10 26-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Да при чем тут эти выражения.
В принципе, можно выполнять РНР в js скрипте, непосредственно подставляя user_id в соответствующие выражения, и тогда не понадобится  показывать user_id напрямую.
 
Только это какой-то кустарный прием. Стоит ли так делать?

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 19:03 26-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Только это какой-то кустарный прием. Стоит ли так делать?

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

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 21:10 26-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я Вас понял, спасибо.
Тогда такой вопрос.
 
В РНР файле имеется
session_start();
$user_id = $_SESSION['USER_ID'];
 
Если этот РНР файл вызывается js скриптом, сессия все равно сохраняется и $user_id будет получен?
(кукисы разрешены)

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 21:49 26-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Если этот РНР файл вызывается js скриптом, сессия все равно сохраняется и $user_id будет получен?

не важно чем вызывается, главное, чтобы в куках был идентификатор сессии, по которому php подгрузит данные у себя. если браузер передаст эту куку и найдется сессия с таким id, то будет получено то, что нужно.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 21:51 26-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
На странице есть всплывающая форма регистрации, в которой валидатор показывает вот такую ошибку:
Error: Unclosed element div.
 
From line 1008, column 9; to line 1008, column 13
 
>&#8617;        <div>&#8617;  
https://ibb.co/tPgQ248    
 
Полный код этой формы:
Подробнее...  
 
Строка 1008 - это тот <div>, который перед <hr>
 
(В графическом виде с номерами строк вот здесь: https://ibb.co/dp8tQ63 ).
 
Не могу понять, какой смысл вкладывал программист в этот <div>, и, соответственно, в какой строке его закрыть.  
 
 
 
 

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 10:14 27-08-2022 | Исправлено: Vladsvn, 10:18 27-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Не могу понять, какой смысл вкладывал программист в этот

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

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 11:17 27-08-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я вот уже который час сижу и подсчитываю открытые и закрытые div, предварительно поместив весь код страницы в ворд. И уже обнаружил несколько </div>, которые не были открыты. Но https://validator.w3.org/ их не показывает как ошибки!
 
Возможно такое?
 
 
* * *      
 
Нет ли сервиса или методики проверки div, чтобы не перебирать их вручную? Это не только долго, но здесь и ошибиться легко...  
 
 
 

Всего записей: 340 | Зарегистр. 07-09-2016 | Отправлено: 11:28 27-08-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru