티스토리 뷰

dev/PHP + MYSQL

php 보안 filtering escaping

dev_0hoon 2021. 8. 10. 18:20

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문 사용  (1) 2021.08.07
MYSQL DB생성 명령어  (1) 2021.08.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
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
글 보관함