2012-04-03 3 views
1

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

Есть ли опасность injection?

+0

При сохранении содержимого текстового поля .. как вы сохранить его? Например, вы можете сохранить его в xml или текстовом файле .. нет необходимости хранить его в базе данных. Это требование? – divamatrix

+0

Спасибо. Нет. В любом случае все будет хорошо. (Не могли бы вы порекомендовать какой-то конкретный способ?) – ispiro

ответ

1

Впрыск может произойти в двух местах.

  • Когда вы показываете этот ввод на странице html.
  • Когда вы его сохраните.

Так что если вы сохраните его на сервере sql, вы его сохраните с помощью переменных/параметров *, если вы сохраните его на xml, вы сохраните его с помощью HtmlEncode.

Когда вы видите, что данные, если вы видите их на использовании HTML-странице HtmlEncode, если вы просто прочитать его в текстовом файле, то не волнуйтесь :)

[*] How To: Protect From SQL Injection in ASP.NET

Более подробной информации для HTML Encode и Анти Cross Site Scripting Library:

http://msdn.microsoft.com/en-us/security/aa973814

http://msdn.microsoft.com/en-us/library/ff649310.aspx

+0

Спасибо. Очень ясно. – ispiro

+0

Есть ли причина, по которой я хотел бы хранить ее любым способом, кроме текстового файла? – ispiro

+0

@ispiro Зависит от того, какую информацию вы хотите сохранить и как ... текстовый файл хорош во многих простых случаях. – Aristos

1

Возможно, да, но это зависит от того, где вы храните свой текст.

Если это база данных SQL, у вас есть риск SQL-инъекции, например. Вы должны использовать функцию выключения SQL для среды.

Например, с помощью php + mysql вы можете использовать mysql_real_escape_string. Большинство технических сред обеспечивают стандартный способ избежать строк до настойчивости.

0

С точки зрения безопасности наши веб-формы голые и 100% уязвимы. Мы должны смотреть на всех путях данных, передаваемые им и испытание в зависимости от обстоятельств:

* Form Fields 
* URL Query Strings 
* Cookies 
* Database 
* ViewState 

Наиболее распространенные формы атаки кажутся Injection Script, Cross Site Scripting и SQL Injection. Что касается SQL Injection, это можно смягчить с помощью параметризованных запросов. Это действие параметризации запросов к базе данных, которые делают хранимые процедуры настолько устойчивыми к атаке. Другие формы атаки сценария можно обработать, загрузив и используя библиотеку скриптов Microsoft Anti-Cross Site в ваших проектах веб-приложений.

Security Runtime Engine VS AntiXSS Library

Microsoft Web Protection Library

 Смежные вопросы

  • Нет связанных вопросов^_^