>  Q&A  >  본문

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

背景

后端

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

前端

使用angularjs搭建

结构

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

说明

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

问题

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

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

某草草某草草2684일 전646

모든 응답(4)나는 대답할 것이다

  • 高洛峰

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

    로그인 후 서버가 첫 번째 HTML을 브라우저에 보내는 라우팅 파일 변수를 작성합니다. 로그인 시 사용자가 액세스할 수 있는 모든 파일을 나열하고 액세스할 수 없는 파일을 404로 설정한 다음 ng가 라우팅을 설정합니다. 이러한 파일을 사용하여 사용자가 도달할 수 없는 경로에 직접 접근하면 404 페이지가 표시됩니다.
    이 파일에 사용자 식별 코드도 작성할 수 있으며, ng를 통해 전역 ajax를 수정하는 것도 불가능하지 않습니다.

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 16:52:15

    단일 페이지 애플리케이션과 일반 웹 페이지 사이에는 보안에 차이가 없다고 생각합니다. 둘 다 ajax를 사용하여 서버와 상호 작용합니다. RESTful의 경우 이는 단지 아키텍처 스타일일 뿐이므로 보안에 질적인 변화가 발생하지 않습니다.

    회신하다
    0
  • PHP中文网

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

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


    你需要auth_basic

    회신하다
    0
  • PHPz

    PHPz2017-05-15 16:52:15

    보안에는 아무런 영향을 미치지 않습니다

    예를 들어 관리자 페이지 admin.html을 예로 들겠습니다. 일반 사용자가 이 페이지에 들어가기 위해 URL을 구성할 수 있더라도 합법적인 토큰이 없기 때문에 다양한 작업 및 데이터 획득이 실패합니다.

    백그라운드에서 Restful을 통해 토큰의 권한 확인에만 보안이 달려 있음을 알 수 있습니다

    회신하다
    0
  • 취소회신하다