Как $ _GET установлен в этом коде изменения размера изображения? - PullRequest
0 голосов
/ 21 июля 2010

Я работаю со скриптом для изменения размера изображений.Кажется, я получаю сообщение об ошибке:

Ошибка: изображение не указано
Возможно, из-за этого кода в сценарии (image.php):

    if (!isset($_GET['image']))
    {
        header('HTTP/1.1 400 Bad Request');
        echo 'Error: no image was specified';
        exit();

}

Вот что я делаю (profile.php) :

$your_image = $row['Image'];
$path_to_image = $row['PortraitPath'];
$width = 100;
$height = 100;

echo "<img src=\'/image.php/{$your_image}?width={$width}&amp;height={$height}&amp;cropratio=1:1&amp;image={$path_to_img}\' alt=\'Alt text goes here.\' />";

Поэтому я читаю $your_image и $path_to_image из таблицы MySQL, а затем помещаюэто в img source.Как уже упоминалось выше, очевидно, изображение не установлено, поэтому я получаю эту первую ошибку.Чего я не понимаю, так это как на самом деле будет настроено изображение с моим img src кодом?Разве я не просто отображаю фактическое изображение?Тогда как будет устанавливаться изображение, если оно просто отображается?Спасибо.

Ответы [ 4 ]

0 голосов
/ 22 июля 2010

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

1a) Не избегайте одинарных кавычек, если вы используете двойные кавычки

ИЛИ

1b) Измените экранированные одинарные кавычки на экранированные двойные.

2) В URL-адресе, который вы используете $path_to_img, но в переменнойопределили это $path_to_image.Сделайте их последовательными.

0 голосов
/ 22 июля 2010

Если вы хотите использовать вместо php-файла файл php, вам нужно сообщить вашему php-файлу, что на выходе будет изображение.Вы можете сделать это, используя функцию php header (), например:

header('Content-type: image/jpeg');

Вот некоторые ссылки: Функция заголовка php

Об адресе, который вы указалик, не немного странно?У вас есть косая черта сразу после .php, которая предполагает, что вы пытаетесь получить доступ к какой-то папке ... Вы проверяли этот URL, чтобы увидеть, выводится ли реальное изображение на экран?

Надеюсь, что это можетпомочь вам =)

0 голосов
/ 22 июля 2010

Как предупреждение, в коде profile.php я увидел этот фрагмент:

image={$path_to_img}

В зависимости от того, как вы справляетесь со значением $_GET['image'], этоможет привести к уязвимости RFI .Пользователь может подделать запрос GET на image.php со своим собственным путем "image".

0 голосов
/ 22 июля 2010

URl для изображения содержит ?foo=bar&this=that&image=path.Эти переменные будут переданы в скрипт image.php в массиве $ _GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...