Получил ответ. Если мы посмотрим на классы, сгенерированные таблицей данных, вы можете найти класс-оболочку. Я просто добавил свойство, называемое min-height, в своем классе CSS в оболочку, и проблема была исправлена.
dataTables_wrapper{
min-height: 100px;
}
Основной источник проблем безопасности в мире.NET является разработчиками, использующими его. Легко записать приложения с любой платформой, и платформа.NET не немного лучше.
Кроме этого единственной основной проблемой, о которой я могу думать, являются все средства управления, которые используют Строку вместо SecureString для того, чтобы хранить уязвимые данные как пароли. Каждая версия платформы.NET лучше, чем последнее здесь, но я думаю, что существует все еще несколько общего контроля, который не использует их.
SecureString может считаться Строкой, которая хранится в зашифрованной памяти, и это удалено из памяти после использования. Так как строки в.NET неизменны, любые новые строки будут сохранены в памяти в общие ресурсы так, чтобы новые строки того же значения могли совместно использовать ту ячейку памяти. Это означает, что уязвимыми данными, хранившими в строке, относительно легко овладеть.
Можно смотреть на Secunia. Они показывают 14 уязвимостей для.NET 2.0, обнуляют неисправленный.
Действительно необходимо проверить превосходную книгу Keith Brown по теме, которая является великолепным местом для запуска. Этому 10 лет этой точкой, но понятия не изменились.
Я действительно реализовал ту же самую функцию. Скрепка генерирует эскизы для всех моих изображений и 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'