클라이언트 (특히 자바 스크립트 및 Jquery 라이브러리)에서 서버 (PHP에서 실행)로 데이터를 보내고 있습니다. 내가 보내는 정보는 다음과 같습니다.
Chrome Dev Tool-> Network에서
Request URL:http://host:8888/RoviImages.php?id=880&aid=334&albumTitle=The+Lion%27s+Roar&albumId=MW0002231494
Request Method:GET
Status Code:200 OK
Query String Parameters
id:880
aid:334
albumTitle:The Lion's Roar
albumId:MW0002231494
클라이언트 코드는 다음과 같습니다.
var data = {id: song_id, aid: aid, albumTitle: albumTitle, albumId: albumId};
$.get(request_url, data)
보내기 전에 정보를 확인하면 " The Lion 's Roar " 로 albumTitle을 얻습니다.
PHP가 정보를 받았을 때 가장 먼저 할 일은 그것을 인쇄하는 것입니다.
$albumTitle = $_GET['albumTitle'];
error_log('Album Title = ' . $albumTitle);
그러면 " Album Title = The Lion \ 's Roar "로 돌아옵니다 .
정보를 처리 한 후 json_encode를 사용하여 자바 스크립트에 대한 응답을 에코합니다 . 자바 스크립트가 응답을 받고 JSON.parse를 통해 디코딩 하면 결과는 " The Lion \ 's Roar "입니다.
그래서 기본적으로 서버에 들어가지만 변경 사항으로 되돌립니다. 왜?
마법 따옴표 설정이 켜져있을 것입니다. http://nl3.php.net/security.magicquotes를 참조 하십시오 .
스크립 상단에 이것을 추가하여 입력에서 모든 슬래시를 자동으로 제거하십시오.
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다