ASP.NET MVC: Как использовать статические страницы HTML в приложениях MVC?

На странице программного обеспечения Stanford Core NLP есть список оболочек python:

http://nlp.stanford.edu/software/corenlp.shtml#Extensions

18
задан ycseattle 13 December 2008 в 08:30
поделиться

2 ответа

Очевидно, платформа .net MVC уже обрабатывает статическое содержание для изображений / CSS / js и т.д. Это просто был бы вопрос расширения этого (маршрутизация?) для передачи .html файлов через прямо к IIS. Это вместе с тире перезаписи для создания более симпатичных URL должно добиться цели.

Однако я очень, очень опасался бы позволять Пользователю Сгенерированное Содержание в форме необработанных загрузок HTML, поскольку Вы оставляете очень очень широкую дверь открытой. В лучшем случае Вы собираетесь закончить страницы людей, полные спама/порно/объявлений. В худшем Вы будете предоставлять шлюз людям для загрузки взломов сценариев перекрестного сайта и потенциально загрузки злонамеренного содержания для повреждения сайта. Можение легко принимает существующую форму на Вашем сайте, hardcode загрузка спама в него и exectute он от их домашней страницы и повреждает целую "кучу" вещей.

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

<час>

Редактирование - для Вас запрашивает на примеры, необходимо смочь добавить Проигнорировать правило к маршрутизации - уже, вероятно, уже будут примеры их - взламывают файл Global.asax - Вы захотите вставить вызов к маршрутам. Метод IgnoreRoute:

routes.IgnoreRoute("UserPages/{*path}");

Должен позволить IIS обработать все запросы для yourwebsite.com/UserPages/aUser/homepage.html - можно также играть немного больше с подстановочными фрагментами / ограничения для более симпатичных решений

23
ответ дан 30 November 2019 в 08:44
поделиться

Я предлагаю, чтобы Вы сделали свой пользовательский ViewEngine, который позволит использовать статическую разметку HTML с пользовательскими тегами в нем, которые будут заменены информацией о пользователе

Так, Ваш механизм представления может принять что-то как этот:

<html>
    <body>
        <b><user:FirstName /></b>
        <b><user:LastName /></b>
    </body>
</html>

и производят

<html>
    <body>
        <b>First Name</b>
        <b>Last Name</b>
    </body>
</html>

Эта пользовательская разметка, которую можно сохранить в базе данных, например. Можно смотреть на пользовательские реализации ViewEngine в MVC Contrib проект .

0
ответ дан 30 November 2019 в 08:44
поделиться
Другие вопросы по тегам:

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