Поправьте PHP Код пожалуйста

Тема в разделе "PHP", создана пользователем vave, 10 янв 2011.

Модераторы: latteo
  1. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    381
    Симпатии:
    15
    Вот код на закрытие доступа от незарегистрированных пользователей

    PHP:
    if( !$user->user_exists && substr($page05) == "user_" 

      
    header("Location: login.php?return_url=".$url->url_current()); 
      exit(); 
    }  
    но он предназначен только на файлы с началом USER_
    например user_home

    как можно сделать что бы этот код работал на абсолютно все файлы, не только с началом "user_"

    ПОЖАЛУЙСТА, ЭТО ОЧЕНЬ ОЧЕНЬ СРОЧНО НУЖНО!!!!!
     
  2. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    А если убрать второе условие? Тоесть:
    PHP:
    if( !$user->user_exists

      
    header("Location: login.php?return_url=".$url->url_current()); 
      exit(); 
    }
     
  3. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    381
    Симпатии:
    15
    почти но тогда он определяет зарегистрированного пользователя и перенаправляет его, а не зарегистрированного оставляет на месте, а нужно что бы он незарегистрированного пользователя перенаправлял на страницу регистрации, но я сейчас уже придумал как сделать, буду пробовать)
     
  4. pion

    pion Создатель

    Регистр.:
    14 сен 2010
    Сообщения:
    24
    Симпатии:
    0
    так добавь в условие редикект.
    если зареганый if, else для незарегенного
     
  5. pion

    pion Создатель

    Регистр.:
    14 сен 2010
    Сообщения:
    24
    Симпатии:
    0
    скажи хоть как сам сделал, так общего развития так сказать :)
     
  6. darkway666

    darkway666 Писатель

    Регистр.:
    26 фев 2010
    Сообщения:
    2
    Симпатии:
    0
    Объясни в своём коде:
    PHP:
    if( !$user->user_exists && substr($page05) == "user_" )  
    {  
      
    header("Location: login.php?return_url=".$url->url_current());  
      exit();  

    вот этот небольшой кусочек, что он делает и что именно лежит в $page:
    PHP:
    substr($page05)
    мне кажется эта строка подозрительной :)
     
  7. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Почему бы это...
    В переменной $page, по всей видимости, хранится имя файла. А код проверяет начинается ли имя файла с 'user_', и всего делов-то :)
     
  8. darkway666

    darkway666 Писатель

    Регистр.:
    26 фев 2010
    Сообщения:
    2
    Симпатии:
    0
    а простым перечислением делу не поможешь?
    или там папок вагон?
     
  9. artxaker

    artxaker Создатель

    Регистр.:
    25 авг 2009
    Сообщения:
    39
    Симпатии:
    36
    согласен с gres_18.
    PHP:
    substr($page05)
    Как видно $page имеет ссылки и это может послужить к php inject.
    постарайся фильтрировать эти данные,или возможно использовать произвольные запросы со стороны ламера.