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

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

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

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    хм.. неполучается, функция preg_match в какой кодировке сохраняет?
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    В исходной.
     
  3. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    В preg_match нужно передавать текст в нужной кодировке, а перекодировать его нужно предварительно функцией convert_cyr_string
    PHP:
    $text convert_cyr_string($textиз какойв какую)
     
  4. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    Ребята подскажите, как обезопасить себя от того чтобы $_REQUEST не принимал массивы.
    ?get[]=zops

    Ну или хотябы не раскрывал пути.
    Я вот думаю может explode.
    Если массив многомерный тогда что?

    DLE красиво с это задачей справляется, только не могу найти где и как!
     
    #18884 ZnikiR, 25 Jul 2011
    Last edited: 25 Jul 2011
  5. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    Никак нельзя управлять тем, что гетом передаётся, там есть только ограничение на длину передаваемой строки...
    Проверку полученных данных делай после получения перед использованием...
    Ну или постом передавай...
     
  6. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    Ну какая разница куда массив вставлять.
    Я вот думаю, как лучше обработать данные чтобы случайно, не получилось так что ты массив в условие со строкой сравниваешь, ведь это раскрытие, если ошибки выводятся.
    Если их отключить то есть еще хоть какая-та надежда.

    Я вот чего думаю, может проверять если это массив, тогда $_REQUEST['var'] = "";

    Вот чего придумал
    PHP:
    foreach ($_REQUEST as $key=>$value)
     {
       if(
    is_array($value)) unset($_REQUEST[$key]);
     }
    Вопрос к ГУРУ Ачата. Так нормально и стоит ли заморачиваться?
     
    #18886 ZnikiR, 25 Jul 2011
    Last edited: 25 Jul 2011
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    ZnikiR с данными надо правильно обращаться, а не портить их. Если функция принимает строку - делать принудительный type cast.

    Принудительно удалять массивы из _REQUEST вам аукнется, когда вам потребуются таки массивы, а они потребуются
     
    _________________________
  8. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    Gifts, скажи ты много где массивы от пользователя принимаешь?
    У меня просто такой практики не было.

    И раз ты так говоришь, то скажи как лучше тогда обрабатывать входные данные?
    Точнее как ты это делаешь?
     
  9. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    Когда гетом передаются какие-либо данные, нужно точно знать какого вида данные должны прийти, иначе это чревато последствиями... Если реквестом пришли не те данные, не того вида, что надо - это однозначно либо ошибка, либо попытка инекции, и они не могут потом потребоваться...
    Если полученные данные не те, то я не могу представить случай для чего они могут понадобиться... А принимать данные заранее неизвестного вида - это предоставить хорошую дырку для несанкционированного доступа...
    Бывают случаи, когда гетом нужно передать массив, но в это случае заранее известно, что будет передан массив...
     
  10. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    в том то и проблема, я не знаю из какой и в какую кодировать,

    как можно узнать в какой кодировке текст?
     
  11. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    В какой кодировке у тебя текст, ты сам должен знать, а в какой на форуме, смотри код страницы и поищи там строку вида
    HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" >
    в ней как раз и прописана кодировка на форуме...
     
    1 person likes this.
  12. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    qaz А в какой у тебя файл где находится твой скрипт?
     
    2 people like this.
  13. chexec

    chexec Member

    Joined:
    19 Nov 2010
    Messages:
    67
    Likes Received:
    11
    Reputations:
    3
    http://www.php.net/manual/en/function.iconv-get-encoding.php
     
    1 person likes this.
  14. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    всем спасибо, я разобрался, возник такой вопрос, хотел добавить в крон выполнеия скрипта, выставил все настройки и в конце пишет
    PHP:
     Не указан путь к интерпретатору в файлефайл должен начинаться со строки "#!/usr/local/bin/php" без кавычек.
    ну добанил я в начало кода скрипта #!/usr/local/bin/php
    и серовно пишет тоже самое, может я што нетак понял?
     
  15. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72

    "#!/usr/local/bin/php" надо не в начало скрипта писать, а в начало команды запуска скрипта в настройках крона...
     
  16. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    А почему, собственно, и нет?
    PHP:
    #!/usr/bin/php
    <?php
      
    // Тут куча кода
    ?>
    Такие скрипты с правами 0700, 0755 и т.д. в кроне работают нормально
     
    1 person likes this.
  17. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    вот так и сделал, и серовно непашет, пишет дно и тоже
     
  18. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Структура таблицы mysql

    Не пойму как здесь организованы страницы типа http://interservis.ub.ua/about-company/

    В урле нет идентификатора, знаю что через мод_рерайт

    Так тоже самое и здесь http://nng.ub.ua/about-company/

    или идентификатор здесь поддомен interservis, nng ?
     
  19. emmy

    emmy Member

    Joined:
    12 Oct 2009
    Messages:
    76
    Likes Received:
    17
    Reputations:
    8
    думаю да ты прав поддомен идентификатор хотя может и нет просто похоже можно проверить если изменять только индентификатор и меняется содержание значит да иначе нет попробуй сам поизменять поэкспериментировать может что то получится узнать и да это не вопрос по пхп то есть может иметь отношение к пхп но не по пхп но если что обращайся на античате всегда рады помочь новичкам
     
  20. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    У каждой страницы есть уникальный для её типа параметр - alias.
    Парсим URI, делаем запрос в базу, в качестве идентификатора выступает about-company
     
Thread Status:
Not open for further replies.