Как блокировать прямой браузерный доступ на стороне клиента для включения файлов в angularjs?

0

В приложении angularjs страница index.html выполняется, когда пользователь вводит mydomain.com в свой веб-браузер. Но на странице есть страницы с клиентской стороны, включая index_firstinclude.html. Но в приложении есть отверстие, потому что любой пользователь (или веб-браузер spider bot) может видеть непреднамеренный контент, если они набирают mydomain.com/index_firstinclude.html в свой браузер. Это может привести к автоматическим связям с непреднамеренными включениями URL-адресов из поисковых систем и других сайтов. Как я могу убедиться, что пользователь НЕ может видеть содержимое index_firstinclude.html если они набирают mydomain.com/index_firstinclude.html в своем браузере?

Вот index.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="resources/css/my.css">
</head>
<body ng-app="myApp">

    <script src="js/lib/angular.js"></script>
    <script type="text/javascript" src="myController.js"></script>

<div ng-controller="myController">  
<table width=100%>
    <tr>
        <td align="center">
                    <div ng-include="'index_firstinclude.html'"></div>
        </td>
    </tr>
</table>
</div>

</body>
</html>
  • 0
    Нет способа сделать это эффективно. Angular должен будет извлечь их (на стороне клиента), используя именно этот URL. Кому какое дело, если они получают непреднамеренный контент, если они дают плохой вклад? Что касается сканеров, просто скажите им не сканировать эти URL. Не то чтобы они все равно их нашли, так как они не обрабатывают JavaScript.
  • 0
    Вы можете заблокировать файлы на вашем веб-сервере, но это приведет к тому, что страница индекса не сможет их загрузить. пара вещей, которые вы можете сделать, это переместить ваши файлы в папку, чтобы избежать попадания по URL, или вы можете использовать кэш шаблонов для кэширования представлений в памяти, а затем вам больше не нужны статические поля
Показать ещё 4 комментария

1 ответ

0

В вашем примере кода вы включаете index_firstinclude.html на свою главную страницу, чтобы контент был виден посетителям сайта и тем ботам, которые обрабатывают сайты javascript. Вы можете отключить загрузку определенных файлов для определенных пользовательских атак путем настройки вашего веб-сервера. Кроме того, если есть страницы с контентом только для авторизованных пользователей, вы можете обслуживать их с проверкой полномочий на стороне сервера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню