[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    2geForse - может, надо еще userAgent подставлять?
     
  2. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    А как кроме $_SERVER['HTTP_HOST'] можно узнать на каком домене стоит скрипт?
    Чтоб это было безопасно для скрипта, чтоб 100% валидный был домен.
     
  3. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    обязательно домен?
    или абсолютный путь достаточно?
    $_SERVER['DOCUMENT_ROOT']
    ...ну как вариант еще можно $_SERVER['SERVER_NAME'] ...ну или выдрать вот отсюда $_SERVER['REQUEST_URI']
     
    #11463 RedBull@12, 31 Aug 2009
    Last edited: 31 Aug 2009
  4. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Думаешь $_SERVER['REQUEST_URI'] настолько безопасна?
     
  5. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    сорри перепутал...имелл ввиду $_SERVER['PHP_SELF']...
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    RedBull@12
    PHP:
    $_SERVER['PHP_SELF']='tratatatatat';
    echo 
    $_SERVER['PHP_SELF'];
     
    _________________________
  7. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Нормальные люди используют задание таких вещей в конфиге..... или на крайняк используют PHP_SELF для автоконфига или для вывода на экран
     
  8. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    PHP:
    $_SERVER["REMOTE_ADDR"]="тут_нет_ip";
    echo 
    $_SERVER["REMOTE_ADDR"];
    я думаю суть понятна моего ответа.
     
  9. Myload

    Myload Banned

    Joined:
    15 Mar 2009
    Messages:
    0
    Likes Received:
    96
    Reputations:
    6
    у кого есть скрипт чтоб мог отключать сайт через админку а
    на главной на писано сайт в разработке!
     
  10. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    это 3 строки кода...пиши, усли не получится подскажем...
     
  11. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    PHP:
    <?php
    if(isset($_GET['turnoff']))
    {
    file_put_contents('index.php.bak',file_get_contents('index.php'));
    file_put_contents('index.php','Сайт в разработке');
    }

    if(isset(
    $_GET['turnon']))
    {
    file_put_contents('index.php',file_get_contents('index.php.bak'));
    unlink('index.php.bak');
    }
    ?>
    Самый простейший.
    Писал прямо здесь :)

    RedBull@12, лучше бы помог человеку, чем указал сколько строк в коде.
     
    #11471 mailbrush, 1 Sep 2009
    Last edited: 1 Sep 2009
    2 people like this.
  12. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    2mailbrush, я уже отписывался на данную тему,"В этой специальной теме новички могут задавать простые вопросы по языку PHP."(с)_Great_
    почему люди НЕ хотят ничего сами делать?
    в прилепленной теме https://forum.antichat.ru/thread135357.html четко описано в 5 пункте СУТЬ! данного форума.
    и хотелось бы чтобы люди задающи подобные вопросы, не поощрялись постами от пользователей с довольно высокой репой....имхо
     
    1 person likes this.
  13. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Ну да, ты прав :) Просто мне было нечего делать, вот и написал скрипт :) Кстати, репа - не показатель...
     
    1 person likes this.
  14. zerg

    zerg Elder - Старейшина

    Joined:
    5 Mar 2006
    Messages:
    42
    Likes Received:
    6
    Reputations:
    0
    как можно установить куки для другого хоста

    пример:
    PHP:
    setcookie("blabla"$cookietime() + 10000"/""google.com");
    так не получается, можно ли какнить по другому???
     
  15. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    никак, тебе не позволит браузер
     
    1 person likes this.
  16. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    созрел вопрос по мере написания кода.
    пишу классы. есть некий базовый на основе которого все классы и лепятся. Вопрос собственно тупой.
    есть глобальные переменные из отдельного файла инклюдятся, собственно конфиг.
    переменные представляют из себя некий большой массив $__VARS с ключами(массивами).
    что-то типа этого:
    PHP:
    $__VARS["BD"]["hostname"] = "localhost";
    $__VARS["BD"]["encoding_db"] = "SET NAMES utf8";
    $__VARS["BD"]["max_lenght_keyword"] = "10";
    $__VARS["BD"]["error_number"] = "1";
    Как их внести в базовый класс, с правилом public?!
    чтобы людой класс мог к ним обратить, который имеет этот базовый класс.
    кроме вот такого извращения мозгов больше ни на что не хватило:
    PHP:
    public $ClassVars;    
    public function 
    ident($vars) {      
     foreach (
    $vars as $name => $var) {        
      foreach (
    $var as $key => $value) {          
       if (
    count($value) > 1) {            
        foreach (
    $value as $k => $v) {              
        eval(
    "\$this->ClassVars['".$name."']['".$key."']['".$k."']  = \"".$v."\";");            
        }          
       }          
       else { eval(
    "\$this->ClassVars['".$name."']['".$key."'] = \"".$value."\";"); 
       }        
      }      
     }    
    }
    но каждый раз приходится после создания экземпляра выполнять данную функцию с параметром.
    т.е. нужно нечто аналогичное global
     
    #11476 RedBull@12, 1 Sep 2009
    Last edited: 1 Sep 2009
  17. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    <?php

    $config
    ['bd']['host'] = '127.0.0.1';
    $config['bd']['pass'] = 'pass';
    $config['bd']['login'] = 'login';

    Class 
    Main
    {
      var 
    $config;

      function 
    print_all()
      {
        
    print_r($this->config);
      }
    }

    $main = new Main();
    $main->config $config;
    $main->print_all();

    ?>
    и заюзать extends
     
  18. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    ну про extands это очевидно...суть вся в том чтобы избавить именно вот такого рода строчек
    PHP:
    $main->config $config;
    имитировать global...через что-то типа конструктора при создании класс все подключать...только вот как туда получать параметр из внешки
     
  19. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    echo $main->config['bd']['login'];
     
  20. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    ты сути не понял...
    смотри мы создаем функцию у нас создается локаьлная область видимости переменных, что бы видны были глобальные переменные мы делаем вот так...
    PHP:
    function main() {
    global 
    $var;
    ....
    код...
    }
    я хочу нечто такое же для класса. чтобы в классе подгружались некие "глобальные" переменные
     
Thread Status:
Not open for further replies.