X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Ошибка в PHP
macbeth9
macbeth9
Topic Starter сообщение 18.6.2010, 14:50; Ответить: macbeth9
Сообщение #1


Вот у меня еще одна проблемка,появляется ошибка Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

как я понял нужно изменить вот эти две строчки [PHP]
session_register('access','no_access');
session_register('sess_login','sess_pass');[/PHP] типа они правильные для версии PHP 4.2.3 , а вот тогда как написать правильно для php 5? Заранее спасибо
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 18.6.2010, 14:56; Ответить: ottaviano
Сообщение #2


macbeth9, можно так
[PHP]$_SESSION['access'] = "";
$_SESSION['no_access'] = "";
$_SESSION['sess_login'] = "";
$_SESSION['sess_pass'] = "";[/PHP]
только им нужно присвоить какие нибудь значения
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
macbeth9
macbeth9
Topic Starter сообщение 18.6.2010, 14:59; Ответить: macbeth9
Сообщение #3


а какие значения?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 18.6.2010, 15:00; Ответить: ottaviano
Сообщение #4


macbeth9, можно полностью код посмотреть?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
macbeth9
macbeth9
Topic Starter сообщение 18.6.2010, 15:10; Ответить: macbeth9
Сообщение #5


[PHP]<?php
session_start();
$_SESSION['access'] = "";
$_SESSION['no_access'] = "";
$_SESSION['sess_login'] = "";
$_SESSION['sess_pass'] = "";

// Насройки

$dblocation = "localhost"; // Cервер базы данных
$dbname = "";// Имя базы данных
$dbuser = ""; // Имя пользователя базы данных
$dbpasswd = ""; // Пароль
$mail = ""; // e-mail администартора

// Устанавливаем соединение с базой данных

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);

if(!$dbcnx)
{
echo "<p>Сервер базы данных не доступен...</p>";
exit();
}

if(! @mysql_select_db($dbname,$dbcnx) )
{
echo "<p>База данных не доступна...</p>";
exit();
}

$ip = getenv("REMOTE_ADDR");
$browser = getenv("HTTP_USER_AGENT");
$reff = getenv("HTTP_REFERER");

$_POST['login'] = trim($_POST['login']);
$_POST['password'] = trim($_POST['password']);
$_POST['login'] = mysql_escape_string($_POST['login']);

$_POST['password'] = trim($_POST['password']);

$admin = "";
$admin = $_POST['admin'];

if(!empty($admin) AND $_POST['login'])
{
if(empty($_POST['login'])) exit("Введите логин!");
if(empty($_POST['password'])) exit("Введите пароль!");

// Извлекаем логин и пароль из базы данных

$query = "SELECT * FROM aut WHERE login='".$_POST['login']."'";
$result = mysql_query($query);

if($result) $aut = mysql_fetch_array($result);

$login_aut = $aut['login'];
$passw_aut = $aut['passw'];

if($_SESSION['sess_admin'] != ok)
{
$sess_login = $_POST['login'];
$sess_pass = md5($_POST['password']);
}

ValidPass($sess_login,$sess_pass,$login_aut,$passw_aut,$ip);
}
else
{
if(isset($no_access))
{
if($_SESSION['sess_admin'] != ok)
{
$no_access++;

if($no_access == 4)
{
SendEmail($ip,$browser,$reff,$mail,$access,$HTTP_HOST);
exit;
}

if($no_access < 4) ShowAdmin();
if($no_access > 4) exit;
}
}
else
{
if($_SESSION['sess_admin'] != ok)
{
$no_access = 1;
ShowAdmin();
}
}
}

function ShowAdmin()
{

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Авторизация</title>
<style type="text/css">
@import url(css/styles.css);
@import url(../css/styles.css);
@import url(../../css/styles.css);
</style>
</head>
<body>
<table id="content" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="col_c" valign="top">
<div class="mrg">
<div align="center">
<div class="login">
<form method="post">
Логин:
<input type="text" name="login" size="20" class="login_pole"><br><br>
Пароль:
<input type="password" name="password" size="20"><br><br>
<input type="submit" name="admin" class="button" value="Войти">
</form></div></div>
</div>
</td>
</tr>
<tr>
</tr>
</table>
</body>
</html>
<?php

exit();
}

// Функция вывода ошибки

function error()
{

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Неверные данные авторизации!</title>
<style type="text/css">
@import url(css/styles.css);
@import url(../css/styles.css);
@import url(../../css/styles.css);
</style>
</head>
<body>
<table id="content" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="col_c" valign="top">
<div class="mrg">
<script type='text/javascript'>
window.alert('Ошибка авторизации. Доступ закрыт!');
window.location.href='<?=$_SERVER['PHP_SELF'] ?>';
</script>
</div>
</td>
</tr>
<tr>
</tr>
</table>
</body>
</html>
<?php

exit();
}

// Функция проверки логина и пароля

function ValidPass($sess_login,$sess_pass,$login_aut,$passw_aut,$ip)
{
if(($sess_login === $login_aut) && ($sess_pass === $passw_aut))
{
$_SESSION['sess_admin'] = "ok";
$_SESSION['login'] = $login_aut;

// Запись в лог

$query = "INSERT INTO log VALUES (0,
'$sess_login',
'$ip',
NOW())";
mysql_query($query);

return array($sess_login,$sess_pass);
}
else
{
error();
}
}

// Отправка сообщений администратору

function SendEmail($ip,$browser,$reff,$mail,$access,$server)
{
$Headers = "Content-Type: text/plain; charset=windows-1251\nFrom: admin@$server\n";
$Headers .= "X-Priority: 1\n";

if(empty($reff)) $Message = "Попытка взлома $server!\n\nПредпринята попытка несанкционированного доступа ".date("d.m.Y г. в G:i:s").".\nДанные о нарушителе:\nip - ".$ip."\nбраузер - ".$browser;
else $Message = "Попытка взлома $server!\n\nПредпринята попытка несанкционированного доступа со стороннего сервера ".date("d.m.Y г. в G:i:s").".\nДанные о нарушителе:\nip - ".$ip."\nбраузер - ".$browser."\nсервер - ".$reff;

@mail($mail,"Попытка взлома $server!",$Message,$Headers);
}
?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 18.6.2010, 15:14; Ответить: ottaviano
Сообщение #6


macbeth9, удали это [PHP]$_SESSION['access'] = "";
$_SESSION['no_access'] = "";
$_SESSION['sess_login'] = "";
$_SESSION['sess_pass'] = "";
[/PHP]
и в этом я тоже не вижу необходимости:
[PHP]session_register('access','no_access');
session_register('sess_login','sess_pass'); [/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
macbeth9
macbeth9
Topic Starter сообщение 18.6.2010, 15:19; Ответить: macbeth9
Сообщение #7


Спасибо за помощь
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 18.6.2010, 15:23; Ответить: ZhukV
Сообщение #8


Е нет парни, это не втом дело!!!
Код смотреть не хочу, а вот проблемка такая была.
Вот обяснение.
Когда ты регистрируеш сесию, и передаеш ей значение, они залетают в глобальную область видимости.
Типа:
[PHP]
$_SESSION["NAME"] = "Zhuk Vitaliy";
echo $NAME;
$_SESSION["LOGIN"] = "ZhukV";
echo $LOGIN;
//PHP < 4.2.3
[/PHP]
Эта ошибка указывает, те, что где-то, была иницыилизация переменных с одинм и тем же именим, и что может быть в этом ошибка.
Типа:
[PHP]
$NAME = "ZhukV";
$_SESION["NAME"] = "ZhukV";
[/PHP]
Короче, чтоб не вылазили такие ошибки, передай в сессию другую назву.
Вот к примеру у меня было:
[PHP]
$POISK = array(/* */);
$_SESSION["POISK"] = $POISK;
[/PHP]
Вылазила ошибка
[PHP]
$POISK = array(/* */);
$_SESSION["APOISK"] = $POISK;
[/PHP]
Пропала.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 18.6.2010, 16:14; Ответить: ottaviano
Сообщение #9


ZhukV, действительно так :goodpost:

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3291 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1170 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44765 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1856 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3360 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 28.3.2024, 23:43
Дизайн