Arū*_*kas 5 php security exec youtube-dl
场景:
用户输入视频网址
php下载视频 exec( "youtube-dl " . escapeshellarg($url) );
题:
它足够安全吗?
谢谢!
小智 6
escapeshellarg
防止shell误解您的命令行,因此您在那里是安全的。但是,您仍然将用户输入传递给 youtube-dl。虽然这不是安全风险,但在某些情况下会失败。您需要添加--
以确保用户的输入是 URL 而不是选项:
exec( "youtube-dl -- " . escapeshellarg($url) );
Run Code Online (Sandbox Code Playgroud)
这也将解决“URL”以破折号开头的问题。例如,-8F4YF_pH-4
是有效的 YouTube 视频 ID。