다시보기

0

장고 프로젝트

목록 보기
8/15
post-thumbnail

models에 관한 것을 다시 보았다.

문제점은 권한보안 그리고 cookie(session or token)이었다.

  • @csrf_exempt이 항상 거슬렸다.
    csrf token은 사용자를 통해 공격자가 행하는 위해를 막기 위함인데
    지금까지는 구현했던 view들은 함수 기반이고, 이러한 기능들을 제한 없이 실행하기 위해 @csrf_exempt 데코레이터를 사용했다.

  • 이걸 안 쓰면 forbidden(403)을 주야장천 구경해야 했기 때문이다.

  • 이에 따라 django에서 제공하는 기본 libarary를 사용해야 함을 알게 되었다.

-> AbstractUser 클래스를 상속한 model을 작성했다.
또한 permissionmixin 클래스를 추가로 상속했다.

아직까지 권한 즉, auth에 관한 문제를 Web단에서 충분히 해결하지는 못했다.

권한에 관한 문제는 당연히, 또 분명히 추후에 문제가 될 것이며 이에 관련한 문제를 완벽하게 해결해야 함은 인지하고 있다.

예를 들어 로그인하지 않은 사용자가 id만을 가지고 특정 url에 접근하여 POST 또는 GET method를 사용할 수 있다면 이는 엄청난 문제가 되기 때문이다.

AbstractUser클래스와 permissionmixin클래스를 상속해서 auth와 관련된 기능을 계속해서 구현해나갈 것이다.

새벽에 새로이 서버를 구현하면서 django rest-auth의 일부 함수가 legacy로 변했다는 것을 알았고, 구글링을 통해 찾은 레퍼런스를 따라하는 것으론 기능구현을 하는 것이 힘들었다.(django v4.0)

router가 작동하지 않음으로 인해 관련된 소스코드가 엉키는 듯한 현상을 겪었다. 소스코드를 path함수를 써서 변경해보았지만 계속된 오류를 겪으며 결국은 AbstractUserpermisssionmixin 클래스를 상속하는 model을 작성해보는 정도로 그칠 수 밖에 없었다. 😢


아직도! django REST framework 가 제공하는 API를 활용하지 못하고 있다.

REST framework와 django에서는 정말 다양한 종류의 view를 제공하고 있다.

이는 빠르게 웹을 구축하고 백엔드를 구현할 수 있게 해주는 기능들인데 나는 그 기능을 아직까지도! 충분히 이해하지 못하고 있다.

정말이지 미칠 노릇이다. 어떻게 굴러가고 있는지 구경하고 싶다.

django REST framework가 제공하는 기능은 generic부터 mixin까지 굉장히 다양하다.

이 모든 것을 한 번에 다 알 수 있으면 좋겠지만 그렇게 되지 않음이 너무 안타깝다. 😢😢

딱 보기만 해도 너무 편해보이는데, 내가 사용하려 하니 일정 부분에서는 커스텀이 필요한 것 같고, 커스텀을 하자하니 아직 능력이 부족하다. 😢😢😭

허나 이 중에서 @api_view 데코레이터를 씌우고 AbstractUser 클래스를 상속함으로써 @csrf_token없이도 view를 호출하여 해당 기능을 사용하는 것이 가능해졌다는 것이 일단은 다행이라 여겨진다.


열심히 한다고 했는데 삽질만 실컷 한 기분이다. 😭😭😭

역시 할 줄 아는 것만 계속 하는 게 아니라, 못하는 것에 대한 레퍼런스를 모으고 실제로 구현해보는 것이 답인 것 같다.

이 다음에 내가 하게 될 것이 어떤 것이 될지 기대된다.

지금까지 해왔던 것 중에 정말 모르는 것들을 정리해두고 벨로그 자체를 내 기록장으로 쓰는 작업에 신경을 써야겠다.

Python 백엔드뿐만이 아니라 다른 언어들로 구현한 서버들도 구경하고 준비해야겠다.

하나하나 기록해두는 소중함을 알게된 프로젝트 기간이었다.

하루가 시작되면 또 고민하고 코딩해야지.

끝.

0개의 댓글