웹소스코딩가이드

웹소스코딩가이드

이런 기본 모른다면 코딩하지마. 뒤에 사람이 골치아퍼!

  • URL / POST Send Data 
    • URL(or POST로 넘기는 값)에서는 기본적으로 한글을 표현할 수 없다. 그러므로 규칙에 맞게 변경해줘야한다.
      • 하지만 브라우저에서는 무시하고 처리해줄 수 있다.(오작동 가능성이 있음)
    • URL(or POST로 넘기는 값)을 구성하는 값이 <form>에서 submit되지 않는 이상, 밑의 함수를 사용해서 수동 처리 해줘야한다!
    • 관련함수
      • urlencode() / urldecode()
      • rawurlencode() / rawurldecode()  : 스페이스와 +를 변경하지 않는다.
        • 관습적으로 URL에서는 스페이스를 +로 바꿔서 사용한다. rawurlencode를 사용하면 %20을 대신 사용한다.
    • 관련 문제점
      • base64_encode(url) 를 사용할 경우 변환된 값에 +가 들어있을 수 있다. 이 때 +가 넘어오면 php에서는 스페이스로 보이게 된다. 즉, 넘어온 글자가 깨질 수 있다.
        • 주의! : url에 값을 안 깨지기 위해서 base64를 사용하지 마라!(바보짓이다!)
    • form을 사용시
      • <form> 속에서 <input>에 값을 넣고 submit 할경우는 문제 없다. 브라우저가 전송시 변경해서 보내준다!
  • HTML
    • <script> 속 주석(CDATA)표시
      • <script type="~~~~">
        // <!-- (or <![CDATA[ )
        // --> (or ]]>)
        </script>
        • 위처럼 안 해도 실제 브라우저 사용에서는 문제 없다.
          • 브라우저에서 저 부분을 알아서 처리해준다.
        • 해야하는 이유
          • HTML에서의 &, < , > 등을 표현할 때는 직접 표현할 수 없고, html 엔티티 형식으로 나타내야하는데, JS의 연산자 등에서는 & , < , >를 직접 써야하므로 HTML 규칙에 어긋나게 된다.
            그 부분을 무시하게 하기 위해서 주석처리( xHTML은 CDATA처리)를 해주게 된다.
    • HTML entity
      • HTML에서는 & , < , > 등을 직접나타내면 안된다.
        &amp; , &lt; , &gt; 로 변환해서 나타내야한다.
      • HTML entity 는 HTML속 attribute나 text-node 에서 전부 적용되야 HTML 규칙에 맞게된다.
        • 적용 안해도 브라우저에서 대부분 처리해준다.
          • HTML validator는 통과할 수 없다.
  • Magic Quotes (PHP)
    • Magic Quotes 란 
      • When on, all ' (single-quote), " (double quote), \ (backslash) and NULL characters are escaped with a backslash automatically. This is identical to what addslashes() does. 
        (메뉴얼 발취)
      • ' , " , \ , NULL 글자에 대해서 자동으로 \를 붙여준다.(addslashes() 참고)
      • 효과는 SQL-injection 방지...
      • PHP 5.3에서는 DEPRECATED , PHP6에서는 REMOVE다. 즉, 사용하지 않는 것을 기준으로 작업하라
    • Magic Quotes 문제점
      • \ 자동으로 \가 붙어서 \\ 형식이 되는데, DB가 ORACLE 일 경우 escape 처리자가 \가 아니라서
        게시판 등에서 수정을 할 때마다
        \\ -> \\\\ -> \\\\\\\\ 
        처럼 된다.
        ' 를 기준으로 보면
        \' -> \\' -> \\\\'
        처럼 된다.
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22
6.23
6.24
6.25
6.26
6.27
6.28
6.29
6.30
7.1
7.2
7.3
7.4
7.5