ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #10341  
Старый 02.05.2009, 15:00
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Nightmarе  
Подскажите как определить, работает ли глобальный массив $_SERVER['PHP_AUTH_USER'] на хостинге?

Значит есть basic авторизация на php, но естественно она работает только на каждом втором хосте, можно ли заранее определить где она работает, а где нет?
Пробовал через function_exist(), результата никакого, кажется она только с функциями работает, а не с глобальными массивами.
Помоему,самы простой вариант,написать хостеру перед покупкой хоста,и спросить.Да и вообще не юзать бейсик-аутх,выдери вот из античат-шела авторизацию и все.
 
Ответить с цитированием

  #10342  
Старый 02.05.2009, 15:35
Аватар для .:EnoT:.
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Ну какбэ isset
PHP код:
if (isset($_SERVER['PHP_AUTH_USER'])) echo 'ок';
else echo 
'не алё'
или на худой конец вот так array_key_exists
PHP код:
if (array_key_exists('PHP_AUTH_USER'$_SERVER)) echo 'ок';
else echo 
'не алё'
или print_r($_SERVER); и смотреть что имеем
 
Ответить с цитированием

  #10343  
Старый 02.05.2009, 18:30
Аватар для Nightmarе
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от .:EnoT:.  
Ну какбэ isset
PHP код:
if (isset($_SERVER['PHP_AUTH_USER'])) echo 'ок';
else echo 
'не алё'
или на худой конец вот так array_key_exists
PHP код:
if (array_key_exists('PHP_AUTH_USER'$_SERVER)) echo 'ок';
else echo 
'не алё'
или print_r($_SERVER); и смотреть что имеем
К сожалению пример не рабочий, будет ок только после успешной авторизации, а если он не работает, то так и будет выдавать ошибку типа пасс неверный...
 
Ответить с цитированием

  #10344  
Старый 02.05.2009, 19:00
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

PHP код:
<?php
  
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    
header('WWW-Authenticate: Basic realm="My Realm"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
'Текст, отправляемый в том случае,
    если пользователь нажал кнопку Cancel'
;
    exit;
  } else {
    echo 
"<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo 
"<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
  }
?>
http://ru2.php.net/features.http-auth

как заставить работать в CGI:

http://www.besthostratings.com/articles/http-auth-php-cgi.html

Последний раз редактировалось Pashkela; 02.05.2009 в 19:02..
 
Ответить с цитированием

  #10345  
Старый 02.05.2009, 19:08
Аватар для oRb
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме:
7875940

Репутация: 2362
По умолчанию

Nightmarе, HTTP-Аутентификация работает если пхп прикручен, как модуль Apache'a. Если как cgi-обработчик - тогда никак.
Сделал небольшое сравнение. Вывел массив $_SERVER на 2х серваках (1 - модуль, 2 - cgi)
В первом случае REQUEST_URI, SCRIPT_NAME совпадали. Во втором SCRIPT_NAME - путь до пхп. + во втором случае был еще 1 параметр: [REDIRECT_HANDLER] => php-cgi.

Можно еще посмотреть в phpinfo параметр Server API.

+ если модуль, тогда есть функции для работы с сервером Apache
http://ru.php.net/manual/ru/ref.apache.php
Те можно просто проверить через function_exists.
 
Ответить с цитированием

  #10346  
Старый 02.05.2009, 23:44
Аватар для Nightmarе
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Подскажите плз по поводу php авторизации по сессиям, вот мой код:

Код:
if($auth==1){if(@$_POST['login']==$name && @$_POST['password']==$pass)$_SESSION['lol']=1;}else $_SESSION['lol']='1';

if($_SESSION['lol']==0){
Вы не авторизированны... форма для авторизации бла бла бла...
die;
}

// Рабочий код в случае успешной авторизации.
echo "работает";
if(isset($_GET['ass']))
{
echo "нужная команда";
}
Всё вроде как работает, но при попытке передать скрипту что нибудь POST или GET параметром вся авторизация трётся, и опять выскакивает табличка ввести логин и пасс.
В данном примере если просто обратиться script.php ввести логин и пасс то успешно войдём.
Но если после успешного входа сослаться:
script.php?ass
То вылетаем обратно.
Что тут можно сделать?
 
Ответить с цитированием

  #10347  
Старый 02.05.2009, 23:48
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Nightmarе session_start() в начало скрипта?)

И добавить в первое условие

|| $_SESSION['lol']==1

Последний раз редактировалось Gifts; 02.05.2009 в 23:51..
 
Ответить с цитированием

  #10348  
Старый 03.05.2009, 09:08
Аватар для Veteriuz
Veteriuz
Новичок
Регистрация: 22.04.2009
Сообщений: 21
Провел на форуме:
73023

Репутация: 11
Отправить сообщение для Veteriuz с помощью ICQ
Question

большое спасибо m0Hze, L I G A, rushter, art2222 за советы по выбору проги для того, чтобы писать скрипты
(остановился на PHP Expert Editor)

вот мой первый маленький скрипт, который дает хоть какую пользу
PHP код:
<?
$file 
fopen("text.txt""w+"); // открваем(в случее отсутствия создаем) файл text.txt
for ($i 1$i <= 5$i++) { // задаем цикл от 1 до 5
$s $i 2// вычисляем
fputs($file"$s"); // вписываем в отктытый файл результат вычислений
echo $s// показываем результаты вычислений
// заканчиваем цикл
fclose($file); // закрываем файл
?>
вопрос: как сделать так, чтобы записи в файл(с запуском скрипта) добавлялись. при "w+" файл очищается и создается новый,
вопрос2: возможно ли чтобы каждый результат вычислений записывался в отдельную строку в файл, а не сплошным текстом?

Последний раз редактировалось Veteriuz; 03.05.2009 в 09:10.. Причина: upd
 
Ответить с цитированием

  #10349  
Старый 03.05.2009, 09:19
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Цитата:
Сообщение от Veteriuz  
большое спасибо m0Hze, L I G A, rushter, art2222 за советы по выбору проги для того, чтобы писать скрипты
(остановился на PHP Expert Editor)

вот мой первый маленький скрипт, который дает хоть какую пользу
PHP код:
<?
$file 
fopen("text.txt""w+"); // открваем(в случее отсутствия создаем) файл text.txt
for ($i 1$i <= 5$i++) { // задаем цикл от 1 до 5
$s $i 2// вычисляем
fputs($file"$s"); // вписываем в отктытый файл результат вычислений
echo $s// показываем результаты вычислений
// заканчиваем цикл
fclose($file); // закрываем файл
?>
вопрос: как сделать так, чтобы записи в файл(с запуском скрипта) добавлялись. при "w+" файл очищается и создается новый,
вопрос2: возможно ли чтобы каждый результат вычислений записывался в отдельную строку в файл, а не сплошным текстом?
1) $file = fopen("text.txt", "a+");
2) fputs($file, "{$s}\r\n");
 
Ответить с цитированием

  #10350  
Старый 03.05.2009, 09:21
Аватар для Veteriuz
Veteriuz
Новичок
Регистрация: 22.04.2009
Сообщений: 21
Провел на форуме:
73023

Репутация: 11
Отправить сообщение для Veteriuz с помощью ICQ
По умолчанию

Цитата:
Сообщение от wildshaman  
1) $file = fopen("text.txt", "a+");
2) fputs($file, "{$s}\r\n");
при много благодарен


после некоторого преобразования скрипт получил следующий вид:
PHP код:
<?
$file 
fopen("text.txt""a+"); // открваем файл text.txt (добавляя новую запись)
for ($i 0$i <= 999999$i++) { // задаем цикл
$s md5($i); // вычисляем
fputs($file"{$s}:$i\r\n"); // вписываем по маске [md5:пароль]
echo "$s:$i<br>"// показываем по маске [md5:пароль]
// завершаем цикл
fclose($file); // закрываем файл
?>
выдает ошибку:
Цитата:
Fatal error: Maximum execution time of 30 seconds exceeded in "путь_на_локалхосте" on line 7
пробовал убирать
PHP код:
echo "$s:$i<br>"
не помогло
успел перебрать первые 341572 (файл 13,5 Мб)


юзаю денвер(версию скачивал вчера)
решаема ли проблема?
или ничего иного, кроме как, уменьшать цикл, нет?

Последний раз редактировалось Veteriuz; 03.05.2009 в 10:20.. Причина: новый вопрос
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ