Мой первый сайт на PHP
Оцените, мой небольшой сервис вопросов и ответов, всё делал сам, на чистом html, css, js и php.
Очень интересно узнать, удобно ли я сделал админку? Для входа в админку, надо указать GET параметр ?admin=1 и ввести admin и admin только не удаляйте разделы, которые вы не создавали. http://phpkurs.16mb.com/?admin=1 сам сайт http://phpkurs.16mb.com/ весь код на гитхабе https://github.com/Div-Man/faq в коде получилось, очень много дублирования. Описание клиентской части
Вход в интерфейс администратора
Возможности в интерфейсе администратора
|
100% дырявый код.
|
А можно поподробней?
|
Нет, подробный аудит ваших скриптов, это много. Напрягите Гугл, есть инструменты для проверки уязвимости сайта. Но они не дадут полной картины, но есть масса статей в сети по данному вопросу.
Сразу что бросается в глаза, так это отсутствие фильтрации данных. Для справки - strip_tags, это не фильтрация, а htmlspecialchars к данным параметров запроса, это глупость, htmlspecialchars полезна для предотвращения XSS. И этот бедлам бесполезный не смотря на то, что используется PDO, но без использования его возможностей пресечения инъекций. Нефильтрованные данные и в подстановках используются header('Location: ?interface-admin=1&showQuestion='. $_GET['showQuestion']); |
Laimas наверное имел ввиду, что надо к strip_tags, еще добавить addslashes
Однажды читал про иньекции, но так и не понял как они возможны, например я пишу в базу через mysqli_query, там нельзя сделать два запроса одной строкой, ну по крайней мере я такого не знаю, laimas если знаешь напиши как такое возможно Что значит фильтровать данные, если кто-то захочет передать в $_GET['showQuestion'] что-то чего там быть не должно и будет переход, что с того? P.S. Код не читал, сорри. |
Цитата:
Цитата:
Цитата:
Этот раздел нужно знать. |
Цитата:
Цитата:
|
Цитата:
Цитата:
А что mysql, mysqli разницы нет. |
Я забиндел всё
|
Ну если считаете, что теперь все Ок (так ли это...), думайте над диалогом, которого у вас нет.
|
Часовой пояс GMT +3, время: 15:37. |