- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Для этого к текстареа подключил JS вставку тегов, остальные закрыл как писал выше.
Лучше используйте BB-коды, а полученный текст прогоняйте через strip_tags + htmlspecialchars.
Лучше используйте BB-коды, а полученный текст прогоняйте через strip_tags + htmlspecialchars.
Собственно, strip_tags - первое что сделал. +addslashes. с BB-кодами не разбирался, как их подключить.
htmlspec - именно счас разбираюсь.
А можно привести примеры опасных запросов, которые могут повредить сайт или базу? Можно в личку, хочется проверить защиту)))
Пожалуйста забудьте о mysql_(real)_escape_string.
Для защиты от sql-inj в цивилизованном мире используют prepared statements(http://www.php.net/manual/ru/pdo.prepared-statements.php).
Для защиты от xss будет достаточно htmlentities и парсера bb-кодов.
В форме пользователь заполняет данные о своей фирме- должен быть минимальный обьем доступных тегов для форматирования документа, данные на русском языке, поэтому все эти дропы могу смело запрещать. Доступны абзацы, переносы, заголовки, списки и по мелочи. Для этого к текстареа подключил JS вставку тегов, остальные закрыл как писал выше. Сам метод update как выяснилось добавляет слэши к кавычкам, так что возникла проблема - не работает вставка стилей через спан. Но это некритично.
почему бы пользователю не дать фикс. набор полей, без ХТМЛ, и уже самостоятельно собрать ХТМЛку с тегами?
Пользователь заполняет форму и отправляет данные. Они пишутся в таблицу в БД Mysql, из которой потом формуируется страничка на сайте.
Переданные данные обрабатываю предварительно так:
Что еще нужно сделать, чтоб враги не внедрили какую гадость?
сайт на WP
судя по форуму, может нужно и с квадратными скобками бороться?
trim - оставляйте в любом случае
Далее если вы с поля ожидаете цифру - то все кроме цифр к примеру = нахер
Не стоит угадывать, что может добавить случайно пользователь.
Пожалуйста забудьте о mysql_(real)_escape_string.
Для защиты от sql-inj в цивилизованном мире используют prepared statements
Чем экранирование в prepared statements отличается от экранирования в escape_string?
Далее если вы с поля ожидаете цифру - то все кроме цифр к примеру = нахер
Какая цифра, если тс даже теги оставил которые не нужно вырезать?
Не стоит угадывать, что может добавить случайно пользователь.
А что делать если функционал предусматривает не только общение через азбуку морзе посредством цифр и пробелов?
Чем экранирование в prepared statements отличается от экранирования в escape_string?
Какая цифра, если тс даже теги оставил которые не нужно вырезать?
А что делать если функционал предусматривает не только общение через азбуку морзе посредством цифр и пробелов?
видимо переработал)
По итогу трехдневных мучений остался примерно там же где начинал.
Выводы (может будет кому-нибудь полезно)
- встроенные в Wordpress функции update и insert уже сами неплохо экранируют, если не нужен большой функционал - применение их вместе с strip_tag вполне достаточно.
- создать свою форму с использованием вышеуказанных и нормальным функционалом для пользователя невозможно. Максимум можно разрешить теги. Эти функции намертво экранируют кавычки, поэтому добавить произвольный стиль не получается.
как бороться не знаю...
Какие эти функции экранируют? Экранирование должно произойти перед вставкой в бд.
Какие эти функции экранируют? Экранирование должно произойти перед вставкой в бд.
update() например экранирует все виды кавычек, например. Именно при записи в базу