stripslashes($stx) 이거에 대한 의미 설명을 부탁드리고 싶습니다.

stripslashes($stx) 이거에 대한 의미 설명을 부탁드리고 싶습니다.

QA

stripslashes($stx) 이거에 대한 의미 설명을 부탁드리고 싶습니다.

본문

안녕하세요. 혼자서 열심히 인터넷을 찾아보며 코딩 공부를 하고 있습니다.

 

stripslashes($stx) 

이 코드의 의미가 역슬래쉬를 제거하는거라고 말씀해주신분이 계시는데, 맞는 말씀인지 확인차 여쭙고자 합니다.

stx는 텍스트를 의미한다고 말씀해주신분도 계십니다 그렇다면

input type="text"

name="stx"

value="<?php echo stripslashes($stx) ?>

 

여기서 밸류 값으로 stripslashes($stx)  부르는건데, name인 stx텍스트가 사라지는건가요..?

무언가 잘못 이해를 하고 있는듯 합니다 ㅠ..

 

답변 부탁드립니다. 감사합니다.

이 질문에 댓글 쓰기 :

답변 3

sql문에서 쿼리를 질의할때 따옴표, 쌍따옴표, 백틱등은 쿼리에서 구분자로 사용됩니다

 

해당 값이 구분자로 사용되지 않고 값으로 들어가려면 앞에 \를 넣어주면 들어가게 되는데, 보통 쿼리에서 값이 들어갈 때 php에서는 addslashes 함수를 사용하여 해당 쿼리를 질의합니다.

다만 들어간 값이 \'으로 되어있기 떄문에 이 값을 다시 원래 값으로 돌리는 함수가 stripslashes입니다.

$stx의 경우 그누보드에서 임의로 정한 변수명이며, 해당 변수에는 사용자가 입력한 검색 키워드가 들어가있습니다.

 

검색어에서 값을 가져오려면 sql에 질의를 던져야 하고, 그런 검색어에 따옴표나 백틱이 있는 경우 제대로 동작하지 않거나 보안상에 문제가 생깁니다. 그렇기 때문에 따옴표나 백틱 등의 sql에서 사용되는 구분자 처리를 위해 해당 함수가 사용되고 있습니다

https://zzaps.tistory.com/45

 

=> 해당 문서를 참고하세요

=> addslashes, stripslashes 는 보통 같이 쓰입니다.

ex)

<?php 
$stx ="\'안녕하세요";
echo stripslashes($stx) 

?>

결과 =====================

'안녕하세요

 

-----------------------------------------------

ex)

<?php $stx = "\'안녕하세요" ?>

input type="text"

name="stx"

value="<?php echo stripslashes($stx) ?>

결과 =====================

input type="text"

name="stx"

value="'안녕하세요"

 

요렇게 보시면 좀 이해가 쉬우시지 않을까 하여 남겨봅니다..

답변을 작성하시기 전에 로그인 해주세요.
전체 17
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT