В preg_match нужно передавать текст в нужной кодировке, а перекодировать его нужно предварительно функцией convert_cyr_string PHP: $text = convert_cyr_string($text, из какой, в какую)
Ребята подскажите, как обезопасить себя от того чтобы $_REQUEST не принимал массивы. ?get[]=zops Ну или хотябы не раскрывал пути. Я вот думаю может explode. Если массив многомерный тогда что? DLE красиво с это задачей справляется, только не могу найти где и как!
Никак нельзя управлять тем, что гетом передаётся, там есть только ограничение на длину передаваемой строки... Проверку полученных данных делай после получения перед использованием... Ну или постом передавай...
Ну какая разница куда массив вставлять. Я вот думаю, как лучше обработать данные чтобы случайно, не получилось так что ты массив в условие со строкой сравниваешь, ведь это раскрытие, если ошибки выводятся. Если их отключить то есть еще хоть какая-та надежда. Я вот чего думаю, может проверять если это массив, тогда $_REQUEST['var'] = ""; Вот чего придумал PHP: foreach ($_REQUEST as $key=>$value) { if(is_array($value)) unset($_REQUEST[$key]); } Вопрос к ГУРУ Ачата. Так нормально и стоит ли заморачиваться?
ZnikiR с данными надо правильно обращаться, а не портить их. Если функция принимает строку - делать принудительный type cast. Принудительно удалять массивы из _REQUEST вам аукнется, когда вам потребуются таки массивы, а они потребуются
Gifts, скажи ты много где массивы от пользователя принимаешь? У меня просто такой практики не было. И раз ты так говоришь, то скажи как лучше тогда обрабатывать входные данные? Точнее как ты это делаешь?
Когда гетом передаются какие-либо данные, нужно точно знать какого вида данные должны прийти, иначе это чревато последствиями... Если реквестом пришли не те данные, не того вида, что надо - это однозначно либо ошибка, либо попытка инекции, и они не могут потом потребоваться... Если полученные данные не те, то я не могу представить случай для чего они могут понадобиться... А принимать данные заранее неизвестного вида - это предоставить хорошую дырку для несанкционированного доступа... Бывают случаи, когда гетом нужно передать массив, но в это случае заранее известно, что будет передан массив...
в том то и проблема, я не знаю из какой и в какую кодировать, как можно узнать в какой кодировке текст?
В какой кодировке у тебя текст, ты сам должен знать, а в какой на форуме, смотри код страницы и поищи там строку вида HTML: <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" > в ней как раз и прописана кодировка на форуме...
всем спасибо, я разобрался, возник такой вопрос, хотел добавить в крон выполнеия скрипта, выставил все настройки и в конце пишет PHP: Не указан путь к интерпретатору в файле: файл должен начинаться со строки "#!/usr/local/bin/php" без кавычек. ну добанил я в начало кода скрипта #!/usr/local/bin/php и серовно пишет тоже самое, может я што нетак понял?
"#!/usr/local/bin/php" надо не в начало скрипта писать, а в начало команды запуска скрипта в настройках крона...
А почему, собственно, и нет? PHP: #!/usr/bin/php <?php // Тут куча кода ?> Такие скрипты с правами 0700, 0755 и т.д. в кроне работают нормально
Структура таблицы mysql Не пойму как здесь организованы страницы типа http://interservis.ub.ua/about-company/ В урле нет идентификатора, знаю что через мод_рерайт Так тоже самое и здесь http://nng.ub.ua/about-company/ или идентификатор здесь поддомен interservis, nng ?
думаю да ты прав поддомен идентификатор хотя может и нет просто похоже можно проверить если изменять только индентификатор и меняется содержание значит да иначе нет попробуй сам поизменять поэкспериментировать может что то получится узнать и да это не вопрос по пхп то есть может иметь отношение к пхп но не по пхп но если что обращайся на античате всегда рады помочь новичкам
У каждой страницы есть уникальный для её типа параметр - alias. Парсим URI, делаем запрос в базу, в качестве идентификатора выступает about-company