Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Статья "Безопасное программирование на PHP. Кража сессии."
 
 автор: FoMa   (13.06.2005 в 16:55)
 
 

Итак после прочтения статьи
http://www.softtime.ru/info/articlephp.php?id_article=36
и попытке привесть это в действие

<?php 
if (логин и пароль верные

  
$_SESSION['authorized'] = true
  
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; 

?>

появилась ошибка, опытным путем мной было выявлено что вместо знаков ' нужны одинарные ковычки '...
Так вот сразу появился вопрос - может это у меня "неправельно" работает РНР? или это просто опечатки?

   
 
 автор: FoMa   (13.06.2005 в 16:58)
 
   для: FoMa   (13.06.2005 в 16:55)
 

Спотрю и офигеваю все кавычки стали одинарными, ну замена :))), вобщем смотрите первоисточник :)

   
 
 автор: cheops   (13.06.2005 в 18:17)   письмо автору
 
   для: FoMa   (13.06.2005 в 16:58)
 

Спасибо, что не прошли мими - поправлено.

   
 
 автор: FoMa   (14.06.2005 в 13:24)   письмо автору
 
   для: cheops   (13.06.2005 в 18:17)
 

Вопрос по этой теме, делаю все как там указано... код 2-й страницы (принимающей)

<?
session_start
();
if (empty(
$_SESSION['authorized'])&& $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) 

exit (
"Вы не не свои ");

echo (
"Вы свои :)");
?> 

При заходе с страницы, где указывается $_SESSION['authorized'] и $_SESSION['ip'] все получается нормально, но при попытке зайти сразу на это страницу миную "авторизацию" зайти конечно не получается, но при этом вылазит в браузер сообщение:
Notice: Undefined index: ip in v:\home\server.ru\www\test.php on line 3
Как можно от этого избавиться? заранее проверять значение $_SESSION['ip'] и если оно не указано убивать код? или указать свое значение этой переменной?)))

   
 
 автор: cheops   (14.06.2005 в 19:01)   письмо автору
 
   для: FoMa   (14.06.2005 в 13:24)
 

Дело в том, что Notice - это не ошибка, а совет по кодированию, который выдаётся если выставлен максимальный уровень тревожности PHP. На всех хостингах, он снижен и вывод этих советах подавляется (если им следовать в результате получиться чёрте-что :). Вы можете понизить этот уровень выставив соотвествующий уровень тревожности интерпретатора PHP, установив в конфигурационном файле php.ini для директивы error_reporting следующее значение директивы error_reporting
error_reporting = E_ALL & ~E_NOTICE

или локально изменить уровень тревожности при помощи функции Error_Reporting(), которую следует разместить в началае скрипта
<?php
  Error_Reporting
(E_ALL & ~E_NOTICE); 
?>


http://www.softtime.ru/info/articlephp.php?id_article=23

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования