Уязвимости системы обеспечения безопасности платформы.NET?

Получил ответ. Если мы посмотрим на классы, сгенерированные таблицей данных, вы можете найти класс-оболочку. Я просто добавил свойство, называемое min-height, в своем классе CSS в оболочку, и проблема была исправлена.

dataTables_wrapper{
 min-height: 100px;
}
7
задан John Saunders 30 July 2009 в 23:03
поделиться

4 ответа

Основной источник проблем безопасности в мире.NET является разработчиками, использующими его. Легко записать приложения с любой платформой, и платформа.NET не немного лучше.

Кроме этого единственной основной проблемой, о которой я могу думать, являются все средства управления, которые используют Строку вместо SecureString для того, чтобы хранить уязвимые данные как пароли. Каждая версия платформы.NET лучше, чем последнее здесь, но я думаю, что существует все еще несколько общего контроля, который не использует их.

SecureString может считаться Строкой, которая хранится в зашифрованной памяти, и это удалено из памяти после использования. Так как строки в.NET неизменны, любые новые строки будут сохранены в памяти в общие ресурсы так, чтобы новые строки того же значения могли совместно использовать ту ячейку памяти. Это означает, что уязвимыми данными, хранившими в строке, относительно легко овладеть.

5
ответ дан 6 December 2019 в 21:21
поделиться

Можно смотреть на Secunia. Они показывают 14 уязвимостей для.NET 2.0, обнуляют неисправленный.

4
ответ дан 6 December 2019 в 21:21
поделиться

Действительно необходимо проверить превосходную книгу Keith Brown по теме, которая является великолепным местом для запуска. Этому 10 лет этой точкой, но понятия не изменились.

3
ответ дан 6 December 2019 в 21:21
поделиться

Я действительно реализовал ту же самую функцию. Скрепка генерирует эскизы для всех моих изображений и PDF-файлов, и я добавил пользовательские значки эскизов для файлов MS Word, Excel, HTML, TXT и т. Д.

Мое решение довольно простое. В моей модели Вложение (в вашем случае Актив ) я определил следующий метод:

def thumbnail_uri(style = :original)
  if style == :original || has_thumbnail?
    attachment.s3.interface.get_link(attachment.s3_bucket.to_s, attachment.path(style), EXPIRES_AFTER)
  else
    generic_icon_path style
  end
end

Он возвращает либо URL-адрес эскиза, хранящегося на S3, либо локальный путь к общий значок PNG, основанный на типе содержимого активов (обсуждается ниже). Метод has_thumbnail? определяет, был ли для этого ресурса сгенерирован эскиз. Это то, что я добавил в свой собственный форк Paperclip, но вы можете заменить его в своей собственной логике (я не уверен в «стандартном» способе определения этого, возможно, сравнивая путь с вашим определенным «отсутствующим» путем, или даже просто сравнивая тип контента со списком по умолчанию ["image / jpeg", "image / png"] и т. д.).

В любом случае, вот метод, который возвращает путь к общему значку на основе стиля эскиза (в ваш случай: thumb и: large) и тип содержимого:

# Generates a path to the thumbnail image for the given content type 
# and image size.
#
# e.g. a :small thumbnail with a content type of text/html, the file name 
#      would have the filename icon.small.text.html.png
#
# If no such thumbnail can be found a generic one is returned
def generic_icon_path(style = image.default_style)
  url = "/images/attachments/icon.#{style.to_s}.#{attachment_content_type.sub('/', '.')}.png"
  if File.exists? "#{RAILS_ROOT}/public/#{url}"
    url
  else
    "/images/attachments/icon.#{style.to_s}.default.png"
  end
end

Затем, чтобы добавить новый эскиз, я просто добавляю файлы PNG в / images / attachments / с правильным соглашением об именах файлов. Мой стиль большого пальца называется: small, и я определил стили для Word, Excel и обычного текста, поэтому в настоящее время у меня есть:

icon.small.application.msword.png
icon.small.text.plain.png
icon.small.application.vnd.ms-excel.png
icon.small.application.vnd.openxmlformats-officedocument.spreadsheetml.sheet.png
icon.small.application.vnd.openxmlformats-officedocument.wordprocessingml.document.png

Если тип содержимого не поддерживается, есть общий 'catch all'

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

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