답변해주신 편리님에게 먼저 감사드립니다~
지난 질문에 편리님께서 아래와 같이 답변해 주신 것을 이해를 못하다가,
말씀하신 부분을 주석처리하셔도 기본 기능은 정상작동할 겁니다.
다만 게시글 쓰기 등에서 따옴표(') 등이 있을 때 escape 함수가 적용되지 않아
별도로 addslashes 등의 함수가 적용되도록 코드를 수정하셔야만 할 겁니다.
common.php 파일에 아래 구문으로 변경했더니 정규표현식도 이상없고, 말씀하신 따옴표가 들어가도 홈페이지가 정상작동을 합니다. (common.php 파일의 SQL Injection 정의 부분(line 84~100)은 주석처리 된 상태)
편리님께서 말씀하신 "별도로 addslashes 등의 함수가 적용되도록 코드를 수정하셔야만 할 겁니다." 이 부분을 맞게 적용한 것인가요?
Copy
//==============================================================================// php.ini 의 magic_quotes_gpc 값이 Off 인 경우 addslashes() 적용// SQL Injection 등으로 부터 보호// http://kr.php.net/manual/en/function.get-magic-quotes-gpc.php#97783//------------------------------------------------------------------------------if (!get_magic_quotes_gpc()) { $escape_function = 'addslashes($value)'; $addslashes_deep = create_function('&$value, $fn', ' if (is_string($value)) { $value = ' . $escape_function . '; } else if (is_array($value)) { foreach ($value as &$v) $fn($v, $fn); } '); // Escape data $addslashes_deep($_POST, $addslashes_deep); $addslashes_deep($_GET, $addslashes_deep); $addslashes_deep($_COOKIE, $addslashes_deep); $addslashes_deep($_REQUEST, $addslashes_deep);}//==============================================================================
|
답변 1개 / 댓글 1개
채택된 답변
+20 포인트
11년 전
작동에 이상이 없다면 위와 같은 코드를 적용하셔도 문제는 없을 것 같습니다.
그러나 그누보드5 기본코드와는 다르기 때문에 충분히 테스트를 해보셔야 합니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.