|
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
|
|
Для начинающих PHP программистов16.02.2018, 18:26. Показов 1640. Ответов 31
Метки нет (Все метки)
Хочу дать пару советов на счет Безопасности для новичков.
![]() Сам я не гуру в этом, но все же я считаю что основы защиты должен знать каждый. Скажу сразу мое мнение что защиты нет, есть ключи от них, и эти ключи можно обойти. Сегодня есть очень множество способов на проникновение в различные системы, и кражу персональных данных, но зная основы от них можно защититься. 1.Чтобы защититься от хакера, ты должен думать как он. Любой взломщик впервую очередь проверяет различные формы на сайте, к примеру регистрация, форумы, и т.д. Поэтому первое, всегда фильтруйте ваши данные. Я рекомендую использовать регулярные выражения - это мощный инструмент для работы со строками. В скрытом поле не передавайте важные данные, если передаете то, используйте необратимое шифрование. Ставляйте тройную проверку, да именно тройную. 1. На стороне клиента 2. На стороне сервера. 3. Пусть пользователь подтвердит себя. Пользователь может отключить JS , но он не сможем ничего сделать против интепритатора. 2. Если вы заносите данные в БД, то обязательно как и говорилось фильтруйте данные через регулярные выражения, и используйте новые технологии к примеру PDO, делайте различные проверки, но самый мощный инструмент я бы сказал это регулярные выражения Делайте двойное шифрование для пароля + прикрепляйте соли, таким образом если взлоумышленник получит доступ он потратит долгое время что бы это расшифровать. 3.Не используйте у себя в скриптах такие команды как exec или shel_exec(), на Windows он у Вас не сработает, но проверьте мне у меня стоит Linux и это очень мощная функция, благодоря которой можно общаться с системой. Закрывайте доступ ко всем папкам через .htaccess конфигурационный файл, а также к файлам. Внимательно используйте подключателей в PHP, если вы работаете с .htaccess то это не страшно. Я сам работал со своим проектом , и получал доступ через так называемый удаленный PHP инклуд, но посредствам .htaccess это решается очень быстро, защищайте URL, передаваемые параметры шифруйте, а также проверяйте, на обеих сторонах. 4.Каждому расшерению ставляйте свои права доступа к примеру .php он выполняется на стороне сервера, а его клиент не читает поэтому ставляйте расширение только на выполнение, о том как это делаете прочтите в интернете права доступа Linux. Почему Linux ? Все хостинги практически стоят на ядре Linux. 5.Если вы загружаете файлы обязательно проверяйте размер, тип файла, ставляйте запрет для exe. bat форматом. И ЗАПОМНИТЕ ЛЮБОЕ ОБРАЩЕНИЕ К СИСТЕМЕ ЭТО ОПАСНО, А К ФАЙЛОВОЙ ВДВОЙНЕ 6. Если вы работаете с файлами не используйте file() readfile() fgets() так как они читают все html теги, взлоумышленник может туда внедрить js код и выполнить сценарий, используйте fgetss() которая удаляет NULL и html и php теги. Я думаю это пока достаточно, всем спасибо)
2
|
|
| 16.02.2018, 18:26 | |
|
Ответы с готовыми решениями:
31
Форум >web-программистов > PHP > PHP для начинающих. Как такое сделать? Видеоуроки для начинающих php программистов (формат swf) Для PHP программистов(С НГ) |
|
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
|
|
| 16.02.2018, 19:39 | |
|
а я все жду когда меня начнет хоть кто-то взламывать
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||||||||
| 16.02.2018, 21:48 | |||||||||
|
Скорее вредные советы
А что делать если мне надо из php скрипта что-либо запустить? ![]()
0
|
|||||||||
|
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
|
|||
| 16.02.2018, 22:40 | |||
![]() ![]() Добавлено через 29 секунд
0
|
|||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 16.02.2018, 23:11 | ||
|
0
|
||
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
|
|
| 17.02.2018, 04:24 | |
|
господа, изучайте постгрес, помимо кучи плюшек в самой БД (jsonb, массивы, удобные ф-и и программирование процедур), конкретно в пхп у неё шикарные функции без всего этого mysqli/PDO -зоопарка
pg_query_params() сразу посылает параметризованный запрос на сервер, где параметры передаются отдельно от текста SQL запроса. И всё! Там 2 строчки всего. Что касается регулярок, они не спасут и от половины атак, а кроме того, как регулярить <textarea>
0
|
|
|
Почетный модератор
|
||
| 17.02.2018, 04:58 | ||
|
В общем, весь опус, из разряда советов "как лучше женщину попользовать стоя на красной площади".
Добавлено через 2 минуты
0
|
||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||
| 17.02.2018, 08:18 | ||
|
Если они из разных групп и Second не должен иметь доступа к файлам First'а, выставляем: 640, например.First может читать и записать, если нужно. Группа, в которой состоит First, может прочитать, а вот Second вообще не получит доступа. К клиенту (посетителю сайта и его обозревателю) права доступа системы отношения никакого не имеют.
0
|
||
|
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
|
||||
| 17.02.2018, 10:33 [ТС] | ||||
|
0
|
||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||
| 17.02.2018, 11:23 | ||||
|
0
|
||||
|
23 / 21 / 5
Регистрация: 15.12.2015
Сообщений: 261
|
|
| 17.02.2018, 11:50 | |
|
Делайте для форм сериалайз и будет Вам счастье )
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 17.02.2018, 12:16 | |
|
cardo, каким образом serialize поможет? Или неизвестный мне "сериалайз" -- это что-то другое?
0
|
|
|
5 / 5 / 3
Регистрация: 19.06.2015
Сообщений: 12
|
|
| 17.02.2018, 12:46 | |
|
Про шестой пункт о функциях file(), readfile(), fgets(), fgetss() как-то не поняль, поясните, пожалуйста.
В каком случае это нужно использовать? Ну вот, у нас может быть мультимедийный (картинка) или текстовый (различные js, css, обычный текст, html) файлы. Когда файл мультимедийный (картинка) он и должен браузеру отдаваться с соответствующий Content-Type как мультимедийный, и здесь разве могут навредить нулевые байты и теги? По-моему картинка вполне может содержать внутри такую-же последовательность байтов как и любой тег, а при удалении может сломаться. Читать, например, функцией file_get_contents(), ну или любой другой функцией с подобным функционалом. Если у нас js и css файлы, то туда в общем случае пользователю вообще соваться незачем, да и если есть зачем, то эти файлы должны попадать только автору, а там уж сам виноват. Если там обычный текст, то либо сразу хранить с преобразованном функцией htmlentities() виде, либо же преобразовывать сразу после прочтения (что по-моему даже предпочтительнее, ибо так сложнее допустить ошибку и пропустить отсутствие экранирования, хоть это и требует экранирования каждый раз против одного раза при создании файла). Если это сгенерированный html файл, то там нужно экранировать введённые пользователем данные ещё при создании файла, ибо иначе как определить, какие теги должны быть частью разметки, а какие пользователь сам повписывал для внедрения кода? Можно читать всё той же функцией file_get_contents().
0
|
|
|
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
|
|
| 17.02.2018, 13:52 | |
|
0
|
|
|
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
|
||||
| 17.02.2018, 18:53 [ТС] | ||||
|
0
|
||||
|
22 / 22 / 8
Регистрация: 21.07.2017
Сообщений: 74
|
||
| 17.02.2018, 19:03 | ||
|
речь о том, что регулярки это поиск патернов, а не средство защиты, думаю Jewbacabra пытался донести до вас именно эту мысль.
1
|
||
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
|
||
| 17.02.2018, 19:11 | ||
|
maxoun, вы про регулярки то узнали только после того, как я вам показал пример
а теперь уже создаёте темы про безопасность, хотя и пользоваться то ими не умеете ![]() Даже Я тут не создаю темы про безопасность, а "без года программист" уже эксперт. почему вообще это читают "начинающие", как будто это действительно полезная для них тема ![]() Добавлено через 2 минуты в письме иногда указывается
0
|
||
|
22 / 22 / 8
Регистрация: 21.07.2017
Сообщений: 74
|
||
| 17.02.2018, 19:54 | ||
|
0
|
||
| 17.02.2018, 20:22 | |
|
Не по теме: Мы можем наблюдать классический пример синдрома Даннинга-Крюгера
0
|
|
| 17.02.2018, 20:22 | |
|
Помогаю со студенческими работами здесь
20
Как сделать красивый интерфейс? Подскажите книгу по php для начинающих Посоветуйте видеокурс PHP для начинающих Инструменты для начинающих PHP-разработчиков Энди Харрис - PHP/MySQL для начинающих. Актуальна? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|