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.html
위에서는 관련 측면을 포함하여 htmlspecialchars를 사용하여 PHP에서 특수 문자를 인코딩할 때의 단점을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.