염두에 두어야 할 좋은 것들 : 데이터베이스 목적 PDO
에
봐, 대신 mysql
또는 mysqli
. (PDO는 여러 종류의 데이터베이스 간 차이점을 단순화하는 래퍼이지만 보안을 대폭 간소화합니다). 당신은 항상 (물론 PDO와 바보-쉽게) 문을 준비하고 있습니다로
PDO의 준비가 문을 및만큼, SQL 주입 증거들을 꽤 많이 만들, 건축 쿼리가 쉽게 100 배 수 있도록 모두 .
다른 두 개의 mysql 옵션 중 하나를 사용하여 PDO를 사용하는 방법을 배우는 것이 중요합니다.
그렇다고해도 데이터베이스를 손상시키지 않아도되지만 나중에 데이터베이스에 저장하여 사용자에게 제공하는 데이터로부터 보호 할 수는 없습니다. 그 점에서
:
이
- 당신이 사용자로부터 얻을 모든 검증 - GET하는 폼 입력에서 모든/POST는
- 결코 HTML로 사용자의 페이지에 기록 모두를 탈출
- 값 -이 같은 클래스를 선택하기 위해, 사용자의 입력을 받아, 등등 (예 :
include $_GET["page"];
)
자바 스크립트 - 내 아기 :
- 클로저 및 모듈/네임 스페이스 패턴에 대해 자세히 알아보십시오.
- 당신이 작성한 모든 대용량 응용 프로그램 (특히 사용자 정보를 수집해야하는 모든 응용 프로그램)에 사용하십시오.
- 사용자가 사이트에서 원하는대로 실행할 수 없도록하는 것은 이해할 수 없습니다 dev 콘솔을 열고 뭔가를 붙여 넣는 것으로.# 3의 이해
- , 사용자가 당신에게주는 모든 데이터에 액세스 # 3를 실행하는 사용자를 방지하기 위해 # 1과 # 2를 사용하는 방법 (또는 당신이 사용자에 대한 유지하는 것이) 일반적으로
쿠키 및 URL 문자열에서 사용자 정보를 유지하고 최대한 JS- 클로저, POST 요청 및 사용자 세션의 가능한 한 서버 측에서 유지하십시오.
여기는 대답이 너무 광범위합니다. 하지만 : [OWASP의 속임수 세트] (https://www.owasp.org/index.php/Cheat_Sheets)를 참조하십시오. 좋은 물건. –
서버에서 사용자가 제공 한 데이터의 암호 해독을하는 경우 Padding oracle attacks. 타이밍 공격. HTTPS의 트래픽 분석 (페이지/이미지/스크립트 크기 및로드 시간 누적) –
나는 몇 가지 질문 중 하나를 upvote과 가까운 투표. –