[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Движок СМИ. Есть преимущества перед WP
Страницы: 1, 2
brevis
https://generalscript.ru/page.php?page=../...../../etc/passwd

P.S.
Master812, загугли аббревиатуру ГС/GS из ВМ/СЕО жаргона. "Как вы яхту назовете..." smile.gif


_____________
Чатик в телеге
miketomlin
Мдя...

Master812, возьми за основу хотя бы G-Drive. Тоже Г, но в отличие от тебя его разрабы знают, что такое «белый список».

А когда работаешь с ФС напрямую, пробуй использовать путь, а не GET-параметр (есть шанс, что сервер тебе поможет защититься), realpath, basename и т.п.

P.S. Вот демка модуля, в котором я даю «прямой доступ» к файлам (без белого списка): http://g09.ru/files (за пределы каталога files тут не выйдешь, как не старайся, даже если сервер не защитит).
miketomlin
P.P.S. Для файлов пример не совсем корректный, т.к. запросы к ним сервер обрабатывает напрямую (без запуска движка). Но если бы мне нужна была в демке защита для файлов, она работала бы примерно так же, как работает для каталогов: https://gency.ru/file-browser
Master812
Ребят, вы хоть объясните, что не так в моём движке? А то все пишете ужас да жесть, а что конкретно не говорите... Инкуда слишком много может? Что устаревшего в моём подходе программирования? Расскажите, подробнее, плиз. Буду исправлять.

Ну а то, что я айякс не использую я и так знаю)
Valick
Master812, ты про MVC, про PSR слышал?

_____________
Стимулятор ~yoomoney - 41001303250491
brevis
Цитата (Master812 @ 14.07.2021 - 23:48)
Ребят, вы хоть объясните, что не так в моём движке? А то все пишете ужас да жесть, а что конкретно не говорите... Инкуда слишком много может? Что устаревшего в моём подходе программирования? Расскажите, подробнее, плиз. Буду исправлять.

Ну а то, что я айякс не использую я и так знаю)

Вижу ты добрый и честный парень, Лёха. И, раз уж ты пришел показывать свой движок на форум программистов, а не во Вконтактик, мы тоже будем с тобой честны. С нашей точки зрения, в твоём движке не так всё. И идея, и реализация. На форумах программистов, кстати, зачастую большее внимание уделяют реализации. В твоей реализации плохо всё. Как минимум беда с архитектурой, безопасностью, code-style, best-practice... Обо всём этом можно узнать из книг, статей, курсов, видосов.

P.S. Особенно с безопасностью smile.gif

user posted image

_____________
Чатик в телеге
Michael
Цитата (Master812 @ 14.07.2021 - 21:48)
Что устаревшего в моём подходе программирования? Расскажите, подробнее, плиз. Буду исправлять.

У тебя нет никакого подхода.
То что ты написал - просто лапша.
Это даже не процедурное программирование.
Но раз это - все к чему ты пришел начиная с 2008-го, то как бы характеризует тебя как очень ленивого человека. И дело не в ajax, который ты не используешь, потому что лень было разобраться, а в сотнях таких же вещей, на которые ты забил.
Что то у тебя там получилось, просто по тому, что функционал, который ты выбрал реализовывать - предельно прост. Даже меню у тебя одноуровневые всего лишь.

_____________
There never was a struggle in the soul of a good man that was not hard
miketomlin
Цитата (Master812 @ 14.07.2021 - 23:48)
Ребят, вы хоть объясните, что не так в моём движке?

А я типа не начал объяснять? Ну-ну.

«Лапша» – это еще не самое страшное. У тебя почти в каждой строчке здец. Например display_errors в коде должно быть булево или строкой вроде 'stderr' (не слышал, чтобы пых в коде, а не в конфиге, понимал On/Off; если On норм. приведется к булеву, то Off – уй). Куча инклудов для процедурки – это в общем-то норм., но, Мля, ты даже не представляешь, по какому витиеватому принципу работают используемые тобой относительные пути. За редким-редким случаем нужно использовать абс. пути, определенные через базу. И т.д., и т.п.

Про архитектуру, защиту, знание осн. принципов HTTP (например, что по GETу удаляют только чукчи, и я не о представителях чукотского народа) уже написали. Ты даже не понимаешь, что если ты не используешь сторонний фреймворк, то должен использовать свой.
miketomlin
		 // коннект к БД
$connect = mysqli_connect($db['db_server'], $db['db_user'], $db['db_pass'], $db['db_name']);
mysqli_set_charset($connect, 'utf8');
– Обработка ошибок.
– Не, не слышал.

	 $data['posts'] = '<br>Ошибка чтения из базы данных! Не выбран id поста (новости)!';
include_once ('gs_engine/design/'.$design.'/blog.php'); // подключаем весь html-шаблон
echo $for_print; // выводим весь html-шаблон на печать с данными
– Статус 404.
– Не, не слышал.

Тебе точно once нужен при подключении шаблона? Как-то нелогично выводить отдельным echo, когда не видна буферизация в памяти. Или у тебя шаблон состоит из «конкатенаций» в $for_print? :)

Естественно, это не все. В пред. посте я прокомментировал начало показанного Валиком кода, а в этом – конец.

P.S. Про «белый список», статус 404, единую точку входа писал для новичков в этой теме:
http://phpforum.su/index.php?showtopic=94970
chee
Цитата (Master812 @ 14.07.2021 - 23:48)
Ребят, вы хоть объясните, что не так в моём движке?

он морально устарел. Мертвый внутри.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.