티스토리 뷰

filterling

sql인젝션을 막는 방법

$filtered = array(
    'title' => mysqli_real_escape_string($conn,$_POST['title']),
    'description'=>mysqli_real_escape_string($conn,$_POST['description'])

);


-- SELECT * FROM TOPIC;

앞에 --는 무시하라는 의미이다.

SELECT * FROM TOPIC;-- WHERE ID =1 ;
이렇게 사용하면 WHERE 절도 무시가 된다.

이렇게 만약 이런형식으로 SQL구문을 만들어 넣는다면

이전의 값을 ''와 -- 를 이용해 구문을 만들어 넣는다면 의도하지 않는 값

특히 이전글 최신글에 영향이 갈 것이다.
mysqli_real_escape_string($conn,$_POST['description']) 이 함수는 그걸 막아주며
'' 로 들어오는 값을 \'\'로 문자화시켜준다



ESCAPING

만약 입력란에 <SCRIPT> 태그를 넣어 값을 넣어버린다면
어떻게 될까? 아니면 링크를 넣는다면 어떻게 될까

운이 좋으면 다른 사이트로 이동정도지만
나쁜경우 사용자의 정보를 뺴앗아 가는 코드를 넣을 수도 있다.

            echo htmlspecialchars('<script>alert</script>');

이명령어는 스크립트 태그부분을 &ls 같은 모양으로 바꿔준다.

'dev_공부일지 > PHP + MYSQL' 카테고리의 다른 글

php select 데이터 뿌리기  (0) 2021.08.07
php select문 사용  (0) 2021.08.07
MYSQL DB생성 명령어  (0) 2021.08.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함