Maison  >  Questions et réponses  >  le corps du texte

angular.js - 单页应用的安全问题

背景

后端

nodejs负责后端的逻辑, http服务器是用nginx

前端

使用angularjs搭建

结构

'
+---------+       +-----------+      +--------+    +------+
|         |       |           |      |        |    |      |
|         +------->           +------>        +---->      |
|         |       |           |      |        |    |      |
|         |       |           |      |        |    |      |
| browser |       |   nginx   |      | nodeJs |    |  DB  |
|         |       |           |      |        |    |      |
|         <-------+           <------+        <----+      |
|         |       |           |      |        |    |      |
|         |       |           |      |        |    |      |
+---------+       +--+-----^--+      +--------+    +------+
                     |     |                               
                     |     |                               
                  +--v-----+--+                            
                  |           |                            
                  |           |                            
                  |    HTML   |                            
                  |           |                            
                  |    CSS    |                            
                  |           |                            
                  |    JS     |                            
                  |           |                            
                  +-----------+                    
'        

说明

RESTFUL接口肯定是要做权限, 用是token的方式, 后端根据token来判断用户的权限, 然后返回数据。

问题

~~HTML这样的文件有必要加权限的认证吗?比如有些页面是不想直接让人看到的, 但现在很明显, HTML是不经过nodejs验证权限的。~~

那如果范围扩大到一些其他的静态文件, 比如一些doc文件, 那么这个权限判定应该怎么走?

某草草某草草2735 Il y a quelques jours682

répondre à tous(4)je répondrai

  • 高洛峰

    高洛峰2017-05-15 16:52:15

    Écrivez la variable du fichier de routage à l'endroit où le serveur envoie le premier code HTML au navigateur après la connexion. Lors de la connexion, répertoriez tous les fichiers auxquels l'utilisateur peut accéder, définissez ceux inaccessibles sur 404, puis connectez-vous Lisez ces fichiers lors de la configuration du routage. Si l'utilisateur accède directement à un itinéraire inaccessible, une page 404 s'affichera.
    Vous pouvez également écrire le code d'identification de l'utilisateur dans ce fichier, et il n'est pas impossible de modifier l'ajax global via ng.

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 16:52:15

    Je pense que vous réfléchissez trop. Il n'y a aucune différence de sécurité entre les applications à page unique et les pages Web ordinaires. Elles utilisent toutes deux ajax pour interagir avec le serveur
    . Quant à RESTful, il ne s'agit que d'un style architectural. L'utilisation de ce style n'entraînera aucun changement qualitatif dans la sécurité

    .

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-15 16:52:15

    http://stackoverflow.com/questions/15938730/require-authentication-for-directory-sauf-one-page-with-passport-js-node-j


    你需要auth_basic

    répondre
    0
  • PHPz

    PHPz2017-05-15 16:52:15

    Cela n'a aucun impact sur la sécurité

    Par exemple, prenez la page d'administrateur admin.html. Même si les utilisateurs ordinaires peuvent créer une URL pour accéder à cette page, diverses opérations et acquisitions de données échoueront car il n'y a pas de jeton légal.

    On voit que la sécurité ne dépend que de la vérification de l'autorisation du token par repos en arrière-plan

    répondre
    0
  • Annulerrépondre