PHP - Безопасность, что такое лучший способ?

Люди сказали в комментариях, что взгляд в будущее может фиксировать, но не потреблять. Следующее захватит букву B в обе группы захвата, даже если она существует только один раз.

import re
matched = re.search('(?=(ab)).(bc)','12abc345')
if matched: print matched.groups()

OUTPUT

('ab', 'bc')

Однако для будущих постов было бы неплохо увидеть попытку какого-то кода или хотя бы минимальный пример кода, который не работает для вас. Пример ввода и пример вывода. Поэтому, поскольку в вашем вопросе не хватает существенных деталей, все, что могут сделать люди, - это опубликовать для вас общий пример. Если этого недостаточно для работы, вам необходимо обновить свой вопрос, указав дополнительную информацию о том, чего вы пытаетесь достичь.

7
задан Anant Singh---Alive to Die 5 June 2015 в 21:40
поделиться

6 ответов

Это - потрясающе заставляющий думать вопрос, и я удивлен, что Вы не получили лучшие ответы.

Сводка

Все Вы сделали бы для стоящего внешним образом приложения и затем некоторых.

Мыслительный процесс

Если я понимаю Вас правильно, то Вы задаете вопрос, который очень немного разработчиков спрашивают самих. Большинство компаний имеет плохую защиту подробно, и после того как взломщик находится в, он находится в. Очевидно Вы хотите взять его уровень.

Так, о каком нападении мы думаем?
Если я - взломщик, и я нападаю на Ваше приложение интранет, то у меня должен быть доступ к Вашей сети так или иначе. Это не может быть столь трудно, как это звучит - я мог бы попробовать направленный фишинг (предназначающийся для электронной почты людям в Вашей организации, содержа или вредоносное программное обеспечение attachements или ссылки на сайты, которые устанавливают вредоносное программное обеспечение) установить троянца на внутренней машине.

После того как я сделал это (и получил контроль внутреннего ПК), я попробую весь одинаковый нападения, которые я попробовал бы против любого интернет-приложения.

Однако это не конец истории. У меня есть больше опций: если у меня есть один из ПК Вашего пользователя, то я мог бы хорошо смочь использовать клавиатурный перехватчик для сбора имен пользователей и паролей, а также смотрящий всю электронную почту за именами и телефонными номерами.
Вооруженный ими, я могу входить в Ваше приложение непосредственно. Я могу даже изучить администраторское имя пользователя/пароль. Даже если я не делаю, список имен и телефонных номеров наряду с чувством для малопонятного жаргона компании дает мне достойный выстрел социально технический мой путь в более широкий доступ в Вашей компании.

Рекомендации

  • Прежде всего, перед всеми техническими решениями: ОБУЧИТЕ СВОИХ ПОЛЬЗОВАТЕЛЕЙ В БЕЗОПАСНОСТИ

Общие ответы на обеспечение веб-приложения:

  • Используйте многофакторную аутентификацию
    • например, имя пользователя/пароль и некоторый гаджет псевдослучайного числа.
  • Санируйте весь свой вход.
    • защищать от сценариев перекрестного сайта и Внедрения SQL.
  • Используйте SSL (иначе известный как HTTPS).
    • это - боль для установки (РЕДАКТИРОВАНИЕ: на самом деле это улучшается), но это делает для намного лучшей безопасности.
  • Придерживайтесь принципалов "Сегрегации Обязанностей" и "Наименьшего количества Priviledge"
    • Другими словами, путем обеспечения, чтобы у всех пользователей были только полномочия, они должны делать свои работы (и ничьи другие задания) Вы удостоверяетесь, что у них есть абсолютная минимальная способность нанести ущерб.
11
ответ дан 6 December 2019 в 07:53
поделиться

Если это находится на внутренней сети, почему даже возможно добраться до приложения с внешней стороны? Правила брандмауэра должны существовать по крайней мере.

9
ответ дан 6 December 2019 в 07:53
поделиться

Лучший способ? Отключите прямой внешний доступ!

Если сотрудники должны использовать его (как сайт стиля экстранет), необходимо сделать их VPN в. Через VPN у Вас есть намного больше способов аутентификации, и большинство из них более безопасно, чем отъезд Вашего сервера интранет, доступного из Интернета.

Другая опция, и это только работает, если данные будут общедоступно-безопасны, то планирует Ваш сервер интранет для продвижения данных к другому серверу, который внешне доступен. Я говорю, что нажатие, потому что Вы действительно не хотите, чтобы этот сервер имел доступ к Вашей сети. Позвольте своему сетевому серверу сделать работу.

1
ответ дан 6 December 2019 в 07:53
поделиться

Лучший способ защитить его? Не подключайте его к сети. Заставьте своих пользователей физически ввести защищенную комнату с единственной консолью, рабочей Мозаикой.

О, Вы хотите, чтобы это было просто в использовании?

  1. Всегда проверяйте каждый вход, который может прибыть из недоверяемого источника.
  2. Не доверяйте никаким источникам данных.
  3. При хранении паролей ВСЕГДА храните зашифрованный хеш пароля.
  4. При хранении паролей НИКОГДА не храните пароли непосредственно.
  5. Никогда не собирайте или храните любые данные, в которых Вы на самом деле не нуждаетесь.
  6. Никогда не позволяйте себе соблазняться в добавление дополнительных звонков и свиста.
  7. Считайте все, что Bruce Schneier записал на безопасности и шифровании.

Если Вы забываете эти простые правила, Вы могли бы найти свое соединение звездой приложения на первых полосах газет везде, точно так же, как почта Yahoo.

1
ответ дан 6 December 2019 в 07:53
поделиться

Я повторил бы @Oli и одобрил бы метод VPN, если это возможно. Однако по какой-либо причине при необходимости в более произвольной выборке, чем это необходимо использовать SSL для обеспечения любой аутентификации. И в дополнение к аутентификации по паролю / аутентификация IP-адреса определенно стоило бы посмотреть на использование SSL с клиентскими сертификатами.

1
ответ дан 6 December 2019 в 07:53
поделиться

Вы могли только предоставить доступ от внутреннего дюйм/с из самого php приложения. Также не игнорируйте обычную безопасность и лучшие практики. Контроль ввода и выходное кодирование (добавляющий в белый список только), учетные записи пользователей с хешированными паролями и т.д.

0
ответ дан 6 December 2019 в 07:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: