PHP에서 특수 문자를 인코딩하기 위해 htmlspecialchars를 사용할 때의 단점

WBOY
풀어 주다: 2016-07-29 08:51:28
원래의
1033명이 탐색했습니다.

htmlspecialchars를 사용하여 양식에서 전달된 매개변수의 특수 문자(&, ', ", <, >)를 인코딩하는 경우(데이터베이스에서 보안 필터링이 필요하기 때문에) 다음과 같은 문제가 발생합니다.

사용자가 ' 등의 특수 문자가 포함된 파일을 업로드하면 해당 파일 이름을 데이터베이스에 저장할 때 다음과 같은 문제가 발생합니다. 🎜>


PHP에서 특수 문자를 인코딩하기 위해 htmlspecialchars를 사용할 때의 단점 서버측 PHP 코드가 $_GET['id']를 통해 간접적으로 파일 이름을 얻는 경우 Transfer to the client라는 이름을 사용하세요.

<?php    
$name = mysql_query('SELECT name FROM accessories');//通过 ID 获取文件名
//......获取文件......
$file_path = ROOT_PATH . '/uploads/accessories/'. $name;
header ( 'Content-Disposition: attachment; filename=' . urlencode ( $name ) );
header ( 'Content-type: application/octet-stream;' );
header ( 'Content-Length: ' . filesize ( $file_path ) );
readfile ( $file_path );
exit ();
?>?
로그인 후 복사
을 다운로드하면 다음과 같은 파일 이름 오류가 나타납니다.

개인 홈페이지: https://plus.google.com/sherlockwang/posts
원본 링크: http://woqilin. blogspot.com/2012/10/php-htmlspecialchars.htmlPHP에서 특수 문자를 인코딩하기 위해 htmlspecialchars를 사용할 때의 단점
위에서는 관련 측면을 포함하여 htmlspecialchars를 사용하여 PHP에서 특수 문자를 인코딩할 때의 단점을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿