[보안팁] common.php 3차배열 에러발생시
common.php 파일의 보안설정 부분.
if( !get_magic_quotes_gpc() )
php.ini 의 설정중 magic_quotes_gpc가 false 일경우에 실행되는 내용입니다.
거의 true로 설정되어 문제가 없지만 간혹 false로 설정되어있을경우 문제가 발생합니다.
상황
1. magic_quotes_gpc 값이 false일경우
2. get, post, cookie 값중 3차 배열이 존재할경우 해당 보안상 문제와 버그문제가 발생됩니다.
처리
if( !get_magic_quotes_gpc() ) 부분의 내용을 변경 (재귀)
if( !get_magic_quotes_gpc() )
{
function siteQuotesDel(&$data){
if( is_array($data) ){
while( list($k, $v) = each($data) ){
if( is_array($data[$k]) ) {
siteQuotesDel($data[$k]);
} else {
$data[$k] = addslashes($v);
}
}
@reset($data);
}
}
siteQuotesDel($_GET);
siteQuotesDel($_POST);
siteQuotesDel($_COOKIE);
}
{
function siteQuotesDel(&$data){
if( is_array($data) ){
while( list($k, $v) = each($data) ){
if( is_array($data[$k]) ) {
siteQuotesDel($data[$k]);
} else {
$data[$k] = addslashes($v);
}
}
@reset($data);
}
}
siteQuotesDel($_GET);
siteQuotesDel($_POST);
siteQuotesDel($_COOKIE);
}
위와 같이 변경해주면 해결됩니다. 많은 테스트는 거치진 않았으나.
기존의 소스를 응용한것이므로 큰 차이는 없을겁니다.
차이는 다중 배열을 지원한다는점 정도?
댓글 1개
14년 전
감사합니다
게시판 목록
그누4 팁자료실
그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3189 |
|
12년 전 | 6701 | |
| 3188 | 12년 전 | 4370 | ||
| 3187 | 12년 전 | 5645 | ||
| 3186 | 12년 전 | 5235 | ||
| 3185 | 12년 전 | 4850 | ||
| 3184 | 12년 전 | 4815 | ||
| 3183 | 12년 전 | 3870 | ||
| 3182 | 12년 전 | 6998 | ||
| 3181 |
skpal
|
12년 전 | 6376 | |
| 3180 | 12년 전 | 5745 | ||
| 3179 | 12년 전 | 5185 | ||
| 3178 | 12년 전 | 4030 | ||
| 3177 |
soul5932
|
12년 전 | 6479 | |
| 3176 |
다케미카코
|
12년 전 | 3737 | |
| 3175 |
soul5932
|
12년 전 | 12919 | |
| 3174 | 12년 전 | 11141 | ||
| 3173 | 12년 전 | 5301 | ||
| 3172 | 12년 전 | 6048 | ||
| 3171 | 12년 전 | 5504 | ||
| 3170 | 12년 전 | 5486 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기