0
如果我从0123脚本shell_exec('mysqldump DATABASE_NAME')
,是否有任何危险?从php脚本mysqldump安全
有没有办法让这个在Windows中工作?
我将使用数据库备份的mysqldump从网页
而且应该运行此当我做set_time_limit(0)
?
如果我从0123脚本shell_exec('mysqldump DATABASE_NAME')
,是否有任何危险?从php脚本mysqldump安全
有没有办法让这个在Windows中工作?
我将使用数据库备份的mysqldump从网页
而且应该运行此当我做set_time_limit(0)
?
是的,存在危险:如果数据库名称来自不可信源,黑客可以尝试在数据库名称中注入shell命令。例如:使用
$dbname = 'test; cat /etc/shadow';
力量从系统(取决于系统)获得的用户名和加密的密码..
为了避免这种情况,你应该使用escapeshellarg()
引用数据库名称(和可能其他参数):
shell_exec('mysqldump ' . escapeshellarg($database_name));
set_time_limit()
如果您关注我的提示是不需要here
不用说,你必须使用登录来保护页面。
危险?从何而来? – 2013-12-18 17:56:35
如果它可以用来以任何方式访问服务器。我需要转义sql注入吗? –
真的没什么意义 – 2013-12-18 18:06:31