Coder Social home page Coder Social logo

kdt_is3_assignment1's Introduction

K-Digital Training Information Security 3rd Assignment 1

Overview

Subject: 간단한 로그인 기능이 포함된 PHP 페이지 작성

Environment

OS: Ubuntu 18.04 LTS
Language: PHP, HTML
Server: Apache
DB: MySQL
(Goorm IDE - PHP Project Form)
  1. Source Code Link[1]

  2. Sign In Succeed[2]

  3. Sign In Failed[3]

  4. Sign Up Succeed[4]

  5. Sign Up Failed[5]

  6. Sign Out[6]

  7. Database[7]

  8. Get to Post[8]

  9. Review[9]

  10. Ref Links[10]


1. Source Code Link

Link - KDT_IS3_Assignment1 Index


2. Sign In Succeed

Login Login - Valid Login - Valid - URL Main


3. Sign In Failed

  1. Null value(ID and PW)
  • Blank PW Login - BlankPW Login - BlankPW - URL
  • Blank ID Login - BlankID Login - BlankID - URL
  1. No member matching
    Login - NoMemberData Login - NoMemberData - URL

  2. Wrong password
    Login - InvalidPW Login - InvalidPW - URL


4. Sign Up Succeed

Register Register - Valid Register - Valid -URL


5. Sign Up Failed

  1. Null value exist
    Register - BlankInfo Register - BlankInfo - URL

  2. Member already exists
    Register - ExistUser Register - ExistUser - URL


6. Sign Out

Logout


7. Database

DB Table DB Tuple(Empty) DB Add 1


8. GET to POST

  • *.php 파일에서 GET을 POST로 바꿈으로 Method 변경 가능

9. Review

  • 이런식으로 디자인 신경안써도 기능을 스스로 구현하는게 더 중요하다
  • 또한 예외에대해서 처리를 해주는것이 굉장히 중요
  • 개발할때 이러한 예외 처리에 대해 처음부터 고려해서 개발하는것이 굉장히 중요하다
  • 다음 단계가 이제 취약점이 없게끔 개발단계에서 부터 고려하는것
  • 그 다음 단계가 설계 시 부터 취약점이 없게끔 구조 설계를 잘 하는것(orm, sql mapper 등 이용)
  • 지금 스샷 찍어서 올린 것들이 정상 상황과 예외 상황에 대한 개발 명세를 적은것이나 마찬가지인것.
  • 이런 스샷 하나 하나를 다듬고 디자인을 붙이고 다른 서비스와 연결하는 것이 결국 개발의 전부
  • 세션까지 생각한것이 아주 좋다
  • include 폴더 따로 관리하는것도 좋다. 실제 그누보드나 워드프레스도 코드 보면 inc 폴더 따로 둬서 관리함

  • 다만 로그인 성공/실패/예외에 대한것들을 뷰로 따로 두고 개발하였으면 더 좋았을것(유지보수 용이성)
  • 실패나 예외 상황 발생 시 html과 exit을 활용하는것이 아닌 하나의 단일 페이지에서 ajax로 요청 후 그 결과값에 따라 페이지 이동 없이 띄워주는것이 베스트

10. Ref Links


Go to top

kdt_is3_assignment1's People

Contributors

ymiwm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.