background/web

    [MySQL] select 문의 where 절에서 문자열과 숫자의 비트 연산으로 테이블의 모든 데이터 출력되는 현상

    [MySQL] select 문의 where 절에서 문자열과 숫자의 비트 연산으로 테이블의 모든 데이터 출력되는 현상

    이 현상에 대해 알려주실 고수 분을 찾습니다.. (원리를 알게 되면 추가해놓겠습니다) los red_dragon 문제를 풀던 중 재미있는 사실을 발견했다. xor 연산의 경우 같으면 0, 다르면 1을 반환하는 논리연산자이다. id엔 null이 들어가서 false가 될 것이고 false를 숫자로 하면 0이므로 false ^ flase 연산이 되어서 false가 나와야 한다고 생각했는데 예상과 정반대로 true가 되어버렸다. 너무 신기해서 로컬에서 테스트해보았다. test_1 테이블을 만들어서 조건을 바꿔가면서 넣어보았다. 우선 ''(null) 문자와 0을 and 연산하였다. 참이 되었다. 비트연산자 부분을 없애면 넣으면 정상적인 결과가 나온다. 이번엔 임의의 문자 'abc'와 0을 and 연산 해보았다. ..

    Same Origin Policy(SOP)

    SOP는 브라우저의 보안 매커니즘입니다. 브라우저가 가저온 정보의 출처인 오리진(Origin)이라 합니다. 이 오리진이 다른 출쳐에서 가져온 리소스를 제한함으로써 공격을 예방하는 효과를 가져옵니다. 오리진은 프로토콜(Protocol Scheme), 포트(Port), 호스트(Host)로 구성됩니다. 이 세 가지가 모두 같아야 동일한 오리진이라고 할 수 있습니다. 브라우저는 세 가지가 모두 같아야 접속을 허락해주는 엄격한 검사를 적용하거나 일부만 같아도 허락해주는 느슨한 검사를 적용할 수 있습니다. (추가로 더 공부해서 정리 예정!)

    웹 브라우저 엔진과 웹 브라우저 엔진의 렌더링 과정

    웹 브라우저 엔진과 웹 브라우저 엔진의 렌더링 과정

    웹 브라우저 웹 브라우저는 사용자와 웹 서버를 연결시켜주는 소프트웨어다. 사용자의 요청을 서버에 전달하고 서버의 응답을 사용자에 다시 전달해준다. 브라우저의 구성 요소는 다음과 같다. user interface : 요청한 페이지를 보여주는 창을 제외한 나머지 browser engine : user interface와 rendering engine 사이의 동작 제어, data storage를 참조해 다양한 작업 수행(웹 브라우저의 중심) rendering engine : HTML과 CSS를 파싱하여 요청에 대한 응답을 화면에 출력 networking : http 요청 수행(통신) JS engine : javascript 코드 해석 및 실행 UI backend : 기본적인 위젯을 그리는 인터페이스 data ..