Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

02.05.2009, 15:00
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от Nightmarе
Подскажите как определить, работает ли глобальный массив $_SERVER['PHP_AUTH_USER'] на хостинге?
Значит есть basic авторизация на php, но естественно она работает только на каждом втором хосте, можно ли заранее определить где она работает, а где нет?
Пробовал через function_exist(), результата никакого, кажется она только с функциями работает, а не с глобальными массивами.
Помоему,самы простой вариант,написать хостеру перед покупкой хоста,и спросить.Да и вообще не юзать бейсик-аутх,выдери вот из античат-шела авторизацию и все.
|
|
|

02.05.2009, 15:35
|
|
Постоянный
Регистрация: 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); и смотреть что имеем
|
|
|

02.05.2009, 18:30
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от .: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); и смотреть что имеем
К сожалению пример не рабочий, будет ок только после успешной авторизации, а если он не работает, то так и будет выдавать ошибку типа пасс неверный...
|
|
|

02.05.2009, 19:00
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
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..
|
|
|

02.05.2009, 19:08
|
|
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.
|
|
|

02.05.2009, 23:44
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Подскажите плз по поводу 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
То вылетаем обратно.
Что тут можно сделать?
|
|
|

02.05.2009, 23:48
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Nightmarе session_start() в начало скрипта?)
И добавить в первое условие
|| $_SESSION['lol']==1
Последний раз редактировалось Gifts; 02.05.2009 в 23:51..
|
|
|

03.05.2009, 09:08
|
|
Новичок
Регистрация: 22.04.2009
Сообщений: 21
Провел на форуме: 73023
Репутация:
11
|
|
большое спасибо 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
|
|
|

03.05.2009, 09:19
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Сообщение от 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");
|
|
|

03.05.2009, 09:21
|
|
Новичок
Регистрация: 22.04.2009
Сообщений: 21
Провел на форуме: 73023
Репутация:
11
|
|
Сообщение от 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
пробовал убирать
не помогло
успел перебрать первые 341572 (файл 13,5 Мб)
юзаю денвер(версию скачивал вчера)
решаема ли проблема?
или ничего иного, кроме как, уменьшать цикл, нет?
Последний раз редактировалось Veteriuz; 03.05.2009 в 10:20..
Причина: новый вопрос
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|