|
|
|
| игнорирует это правило
foreach ($_FILES[userfile][type] as $key => $value)
{
if ($value != "image/jpeg")
{
$important_information = "Вы можете загружать фотографии с расширением .JPG";
header("Location: /index.php?user_account=1&add_photo=1&ads_auto_id=$ads_auto_id&important_information=$important_information");
}
}
|
а так нет
foreach ($_FILES[userfile][type] as $key => $value)
{
if ($value != "image/jpeg")
{
$important_information = "Вы можете загружать фотографии с расширением .JPG";
header("Location: /index.php?user_account=1&add_photo=1&ads_auto_id=$ads_auto_id&important_information=$important_information");
exit();
}
}
|
Вот код полностью
<?php
session_start();
// Подключение базы данных
require "../settings/db.php";
// Подключение модуля защиты
require "../protection/protection.php";
if($_SESSION[users_id])
{
// Проверка на авторизацию пользователя
// Проверка на существование объявления и если есть то кому оно принадлежит
$users_id = protection_cutting($_SESSION[users_id]);
$users_password = protection_cutting($_SESSION[users_password]);
$ads_auto_id = protection_cutting_id($_POST[ads_auto_id]);
// Проверяем пользователя
user_authentication($users_id, $users_password);
// Проверяем доступные объявления к которым есть доступ у пользователя
$uaaap_access_ads_sql = mysql_query ("SELECT `ads_auto_id` FROM `ads_auto` WHERE `ads_auto_user_id`='$users_id' AND `ads_auto_id`='$ads_auto_id' LIMIT 1") or die ("uaaap №1");
$uaaap_access_ads_sql_row = mysql_fetch_array ($uaaap_access_ads_sql);
if ($uaaap_access_ads_sql_row[ads_auto_id] <= 0)
{
$important_information = "Данное объявление вам не принадлежит";
header("Location: /index.php?user_account=1&add_photo=1&ads_auto_id=$ads_auto_id&important_information=$important_information");
exit();
}
// Проверка файлов на расширение
foreach ($_FILES[userfile][type] as $key => $value)
{
if ($value != "image/jpeg")
{
$important_information = "Вы можете загружать фотографии с расширением .JPG";
header("Location: /index.php?user_account=1&add_photo=1&ads_auto_id=$ads_auto_id&important_information=$important_information");
}
}
$important_information = "выводит это сообщение и игнорит проверку сверху";
header("Location: /index.php?user_account=1&add_photo=1&ads_auto_id=$ads_auto_id&important_information=$important_information");
}
?>
|
| |
|
|
|
|
|
|
|
для: tetron
(02.07.2012 в 13:53)
| | Останавливать скрипт при помощи exit() после переадресации стоит, да и зачем продолжать работу, если принято решение о том, что нужно перейти на другую страницу? Если остановки нет, то скрипт не только продолжает работу, но еще и умудряется зачастую отправить клиенту часть данных. Это исходные коды нужно смотреть, как формируется набор HTTP-заголовков, но было бы логично, если оставался только один из Location, в этом случае описанная вами ситуация вполне возможна. Поэтому exit() добавляйте обязательно. | |
|
|
|
|
|
|
|
для: cheops
(02.07.2012 в 15:36)
| | Спасибо за консультацию, сомневался. Теперь буду ставить exit(). | |
|
|
|
|
|
|
|
для: tetron
(02.07.2012 в 13:53)
| | Открываем Блокнот, пишем в нем "картинка", сохраняем как image.jpg, и отправляем вам не сервер - ваш скрипт с удовольствием скушает эту "картинку". | |
|
|
|
|
|
|
|
для: confirm
(03.07.2012 в 09:07)
| | спасибо, поправлю | |
|
|
|