lytgeygen Жалоба Опубликовано 6 августа, 2009 lyt_CMS cut-away v1.0 - простой и маленький движок написанный на PHP без использования базы MySQL. Всё что надо это PHP4 или выше. Движок имеет 4 страницы (главная, информация, услуги, контакты ), так же есть админ панель с удобным и тоже простым интерфейсом. Для лёгкого редактирования страниц в движке есть редактор как и в lyt_CMS free Хорошая замена программа создающие сайты визитки для простых хостингов. большой плюс этого движка в том что если нужно что то изменить, вам не придётся пере заливать изменённую html страницу Скачать Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сволочь Жалоба Опубликовано 6 августа, 2009 $content=str_replace(""","\"",$content); $content=str_replace(" "," ",$content); $content=str_replace("<","<",$content); $content=str_replace(">",">",$content); Лютый ####ец. Смотри сюда. if ($_GET['page']=='info') { $f = fopen('data/info.dat', 'r'); $content = fread($f,filesize('data/info.dat')); $class_active[1] = ' class="active"'; } if ($_GET['page']=='service') { $f = fopen('data/service.dat', 'r'); $content = fread($f,filesize('data/service.dat')); $class_active[2] = ' class="active"'; } if ($_GET['page']=='contacts') { $f = fopen('data/contacts.dat', 'r'); $content = fread($f,filesize('data/contacts.dat')); $class_active[3] = ' class="active"'; } Это дорога в ад. Лучше проверять есть ли *.dat файл с именем, переданным в гет и подгружать его. sha1(md5($pass)) Зачем тебе хеш от хеша? Чтобы враги сильнее боялись? Используй md5 с солью и будет счастье. Далее, всю аутентификацию выносить в отдельный файл и инклюдить его в начале. Если прошел - идем дальше иначе die. $fp=fopen("data/index.dat","a+"); Это вообще не на всех хостингах будет работать. Проверять лениво, но на на мастрехосте это будет на 99% отказная ситуация. Правильно так $_SERVER["DOCUMENT_ROOT"]."data/index.dat". Ну вообще - вручную перечислять страницы моветон. Удачи в дальнейшем освоении. Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
St0rm Жалоба Опубликовано 6 августа, 2009 $content=str_replace(""","\"",$content); $content=str_replace(" "," ",$content); $content=str_replace("<","<",$content); $content=str_replace(">",">",$content); Лютый ####ец. Смотри сюда. Это дорога в ад. Лучше проверять есть ли *.dat файл с именем, переданным в гет и подгружать его. Зачем тебе хеш от хеша? Чтобы враги сильнее боялись? Используй md5 с солью и будет счастье. Далее, всю аутентификацию выносить в отдельный файл и инклюдить его в начале. Если прошел - идем дальше иначе die. Это вообще не на всех хостингах будет работать. Проверять лениво, но на на мастрехосте это будет на 99% отказная ситуация. Правильно так $_SERVER["DOCUMENT_ROOT"]."data/index.dat". Ну вообще - вручную перечислять страницы моветон. Удачи в дальнейшем освоении. Это сто пудов экс-бейсик программер, там такое актуально, никак не оптимизировать, а просто клонировать куски кода. Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Thorn Жалоба Опубликовано 7 августа, 2009 Это стопудов вот что Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lytgeygen Жалоба Опубликовано 7 августа, 2009 Это дорога в ад. Лучше проверять есть ли *.dat файл с именем, переданным в гет и подгружать его. При правильно сформированном GET запросе можно инклюдировать шелл Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сволочь Жалоба Опубликовано 8 августа, 2009 При правильно сформированном GET запросе можно инклюдировать шеллРасшифруй пожалуйста что в данном случае имеется в виду? SSH, bash, sh или нечто залитое на диск? При подходе когда через гет запрос передается имя страницы а путь к файлу формируется скриптом заинклюдить что-то кроме $_SERVER["DOCUMENT_ROOT"]."/pages/".$_GET["page"]."dat" (при условии что путь к файлу формируется подобным образом и в каталоге pages лежат *.dat (кстати, почему именно такое расширение?) файлы в которых хранятся общедоступные страницы) хрен получится, в любом случае кроме *.dat ничего не подцепится даже если через гет гнать экзотику типа "/../чегонибудь". И да, хорошим тоном считается парсить получаемые параметры во избежание всякой фигни. Ну и естественно должно быть перечисление страниц и путей к ним в отдельном файле (если уж решил обходиться без БД), сделать например массив $PAGES. Заполнить его. $PAGES["main"] = "/pages/main.dat" $PAGES["contacts"] = "/pages/contacts.dat" .... Далее при получении гет переменной драть проверять isset($PAGES[$_GET["page"]]), если есть инклюдить ёё (напрямую, без нахрен ненужных приколов с чтениями файлов), если нет - инклюдить 404 или переадресовывать на 404, тут каждый делает как хочет. Вообще вся вот такая структура по страницам (имена, шаблоны, обработчики, пути, статистика, среднее время генерации, права доступа пользователей и групп и т.д. и т.п) должна хранится в БД, но если у тебя изначальная ориентация на хостинг без mysql (что в наше время - редкость, за исключением любителей ну совсем халявы) то тогда чисто файловый подход в принципе оправдан, хотя я вроде бы php умел работать с какими то хранящимися в файлах базочками. Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lytgeygen Жалоба Опубликовано 28 августа, 2009 Сволочь не все используют только мастерхост, я говорил про php иньекции Расшифруй пожалуйста что в данном случае имеется в виду? SSH, bash, sh или нечто залитое на диск? скрипты, для выполнения команд на сервере, написанные на php (в оснавном) или другом скриптовом языке... Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сволочь Жалоба Опубликовано 31 августа, 2009 скрипты, для выполнения команд на сервере, написанные на php (в оснавном) или другом скриптовом языке...Для начала их надо туда залить, не? Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lytgeygen Жалоба Опубликовано 1 сентября, 2009 не? нет, можно сформулировать запрос и инклюдировать злополучный скрипт с другого сервера которой там храниться в формате txt и будет выполняться не на том сервере где лежит а там где инклюдировали... Лютый ####ец. Смотри сюда. а вот за это спасибо буду знать) Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сволочь Жалоба Опубликовано 3 сентября, 2009 можно сформулировать запрос и инклюдировать злополучный скрипт с другого сервера которой там храниться в формате txtПримеры в студию. Особенно для вот такой фигни $_SERVER["DOCUMENT_ROOT"]."/pages/".$_GET["page"]."dat". Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лёва Жалоба Опубликовано 3 сентября, 2009 <?php echo "hello, svolo4"; ?> Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты