그누보드 common.php를 포함시키면 $_GET['a']를 $a로도 사용할 수 있게 되는데요.
본문
제 오토셋 설정이
register_globals가 off(사용안함)으로 되어있거든요.
그래서
a.php?(변수)=(값) 로 접속을 했을 때 실제로 이 변수의 값을 얻으려면
$_GET['(변수)'] 를 써야하는데
$(변수)로도 가능해지더라구요.(원래는 안되야 정상이겠죠?)
혹시나 보안 상에 문제가 있는건 아니겠죠?
답변 2
common.php 파일에
// php.ini 의 register_globals=off 일 경우
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
라고 되어 있습니다. (http://docs.php.net/manual/kr/function.extract.php )
그대로 사용하면 보안 상 위험하겠지만 common.php 파일에 보시면
$_GET = xss_clean($_GET); <= 이 함수 외에도 "extract($_GET); 명령으로 인해 page.php?~~~~ " 등의 보안코드가 포함되어 있습니다.
해당 파일의 xss_clean 함수 참고해보세요~ 그리고 판단은 스스로..;;
// php.ini 의 register_globals=off 일 경우
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
라고 되어 있습니다. (http://docs.php.net/manual/kr/function.extract.php )
그대로 사용하면 보안 상 위험하겠지만 common.php 파일에 보시면
$_GET = xss_clean($_GET); <= 이 함수 외에도 "extract($_GET); 명령으로 인해 page.php?~~~~ " 등의 보안코드가 포함되어 있습니다.
해당 파일의 xss_clean 함수 참고해보세요~ 그리고 판단은 스스로..;;
많은 도움이 되었습니다. 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.