Если у вас есть список песен и вы используете простое соглашение об именах, используйте его в качестве белого списка, чтобы проверить, разрешено ли значение GET, прежде чем вы даже подумаете об использовании
file_get_contents
$song = $_GET['song'] ;
$file = '/Lyrics/' . $song . '.txt' ;
$songs = array( 'help', 'she-loves-you', 'yellow-submarine' );
// as a double check see if the file exists too
if( in_array( $song, $songs ) && file_exists( $file ) ) {
echo file_get_contents( $file );
}
Если вы умны, вы также можете использовать тот же массив $ songs для создания вашего выпадающего списка.
<значение параметра = желтая подводная лодка> желтая подводная лодка
И затем, если вы сохраните это в базе данных, вы можете решить, что «желтая подводная лодка» будет идеальным закрытым ключом, но не заставляйте меня начинать с этого ...