분류 전체보기
Django의 CSRF 방지 / CSRF / Cross-Site Request Forgery
장고의 CSRF 방지 크로스 사이트 요청 위조(CSRF, Cross-Site Request Forgery)는 웹 사이트에서 유저가 서버로 요청을 보내는 행위를 악의적으로 변경 및 조작한 후 요청을 전송하는 것입니다. 즉 사용자가 요청하지 않은 것도 사용자가 요청한 것처럼 처리되는 것입니다. CSRF 위조의 단계 사용자가 보안이 취약한 사이트에 로그인 후 아이디와 패스워드 등 입력을 서버로 전송시킨다. [ Form 사용 ] 서버가 사용자가 전송한 정보를 보고 정상 유저임을 인증 [ 로그인 성공 ] 이때, 서버로 부터 인증된 사용자라는 정보가 사용자에게도 전달된다. 이 상태에서 사용자가 로그아웃을 하지 않은 채, 악성 사이트로 이동하게 됩니다. 악성 사이트에서 사용자의 정보를 가져오거나, 돈을 송금하는 등의..
Django traling slash / 장고 트레일링 슬래시
Django의 Trailing Slash [ 트레일링 슬래시 ] URL 끝에 있는 슬래시를 트레일링 슬래시 (trailing slash)라고 한다. 도메인 끝에 붙은 슬래시는 그 유무에 따른 차이가 없습니다. ex) tistory.com or tistory.com/ 하지만 도메인이 아닌 url에 트레일링 슬래시가 붙을 경우 서로 다른 곳을 가리키는 주소가 됩니다! ex) index/test 와 index/test/ 는 서로 다른 곳! 이런 형태는 과거에는 이 슬래시가 '파일'과 '디렉토리'를 가리키고 있었기 때문입니다. 슬래시가 없는 주소는 '파일' , 슬래시가 붙은 주소는 '디렉터리'를 가리켰기 때문인데요. 현재에는 데이터를 데이터베이스에 저장하거나 가져오기 때문에 URL이 직접적으로 파일이나 디렉터리..
Django Model Form / 장고 모델 폼 / forms.ModelForm
Django Model Form Django의 ModelForm은 Django의 강력한 폼 기능 중 하나로 사용자가 작성한 모델을 기반으로 자동으로 폼을 생성해주는 기능입니다! 일일이 폼을 작성하는 것을 원래는 아래의 코드처럼 django Form 클래스를 이용해서 간편하게 처리했지만 ModelForm을 사용하면 더 쉽게 사용할 수 있습니다! def page_create(request): if request.method == 'POST': title = request.POST['title'] content = request.POST['content'] dt_created = request.POST['dt_created'] feeling = request.POST['feeling'] score = requ..
[웹 프로그래밍 HTML5, CSS] 스타일시트 사용해보기 / stylesheet
CSS 스타일 시트 스타일 시트는 두 가지 방법이 있습니다. 1. 내부 스타일시트 2. 외부 스타일시트 내부 스타일 시트 스타일시트를 가장 손쉽게 사용할 수 있는 방법입니다. style 태그를 사용해 HTML 페이지 내부에 스타일시트를 직접 입력하는 방법으로 사용하실 수 있습니다. 이곳에 출력할 글을 써보세요. 외부 스타일시트 외부 스타일시트는 스타일시트를 별도로 생성하고 link 태그의 href 속성을 사용해 HTML 페이지에 불러오는 방식으로 사용합니다. 첫 번째로 스타일시트를 별도로 생성하기 위해 새 파일을 만든 후 아래 소스 코드를 입력한 후, 파일제목.css로 만들어주세요. [파일 제목 뒤에 .css를 붙여야 합니다.] 그 후 HTML 소스 코드에 link 태그를 사용하여 스타일시트를 불러옵니다..