2010-03-18 2 views
13

Каковы наилучшие методы защиты веб-страницы coldfusion от вредоносных пользователей? (включая, но не ограничиваясь ими, инъекции для инъекций sql)ColdFusion Security

Достаточно ли cfqueryparam?

+1

Что не конструктивно об этом? закрытие этой нити не было конструктивным IMHO ... #moderatorfailagain Это правильный вопрос, если вы не рубиново-коричневый. – Dawesi

ответ

11

Я использую модифицированный portcullis и фильтрую все входящие области var (URL, FORM, COOKIE) onRequestStart. http://portcullis.riaforge.org/

1

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

Недавно я прочитал Essential PHP Security Крис Шифлетт и большинство обсуждаемых вопросов затронули ColdFusion, хотя синтаксис для их решения может быть несколько иным. Я ожидаю, что есть другие (возможно, лучшие) языковые агностические книги, которые содержат принципы, которые легко могут быть изменены для использования в ColdFusion.

1

Хотя использование готового решения будет работать, я рекомендую знать все возможные проблемы, которые необходимо защитить. Проверьте Hack Proofing ColdFusion на Amazon.

1

Никогда не доверять клиенту.

В большинстве случаев «set and forget» для ColdFusion следуют указанным выше рекомендациям по упрощению администрирования сервера, сохраняя актуальность сервера и следуя ColdFusion на твиттере, чтобы сразу узнать о каких-либо новых проблемах.

Для обеспечения безопасности приложений, который является общим для всех языков, вы должны проверять каждую информацию, касающуюся вашего сервера от клиента. Формы - это очевидные области жесткого контроля, но не забывайте о параметрах URL, которые вы можете использовать для управления или контроля состояния приложения. Что-то вроде & startRow = 10 & tag = безопасность, которая не является «предполагаемой», которую должен коснуться пользователь - это пользовательский ввод. Даже если ваше приложение может никогда перерыв с неверными данными, вы, возможно, не знаете, как эти данные будут использоваться в будущем. Проверка может быть такой же простой, как обеспечение того, что кто-то не вводит имя длиной 100 символов и не содержит символов программирования или гарантирует, что & startRow всегда является числом. Это те мелочи, которые разработчики приложений иногда пропускают, потому что все работает нормально, пока вы используете программное обеспечение, как ожидалось.

Я считаю, что вы можете посмотреть на взлом Sony Playstation в качестве примера. К сожалению, они не ожидали, что кто-то взломает клиентскую консоль (playstation console) и манипулирует консольным программным обеспечением PlayStation, чтобы взломать сервер. Сервер доверял клиенту.

Никогда не доверяйте клиенту.

0

CfQueryParam очень важен, но не достаточно.

В моей работе есть бокс-решение: http://foundeo.com/security/. Он охватывает большинство баз. И даже если вы не хотите его покупать, вы можете взглянуть на его набор функций и получить представление о том, что вы должны учитывать.

1

Еще одно большое место, чтобы узнать о безопасности (и все виды других тем), чтобы проверить массивный список Чарли Arehart в записанных презентаций групп пользователей: http://www.carehart.org/ugtv/