我有一个函数可以构建一个HTTP头来发送用户。所以:
$header = build_header($param1, $param2);
// the function build_header will return the header I want to send as a string, e.g.:
// $header == 'header("location: http://example.com", true, 303)';
所以现在我把标题作为字符串。我能做到这一点:
eval($header);
但这会按预期工作吗,安全吗? (build_header
函数中使用的参数都在config.php
文件中定义,因此访问者不能在eval()
语句中偷运某些恶意代码。)。或者有更好的方式发送标题?我知道我可以摆脱这些函数并直接构建标题将它存储在一个变量中,但我觉得这样会搞砸控制器和视图的分离......