【发布时间】:2012-06-07 15:05:23
【问题描述】:
所以我使用下面的代码向我的网站添加多语言功能:
if(isset($_GET['lang']) && $_GET['lang'] != ""){
setcookie("lang", $lang, time()+360*360*3600);
}elseif(!isset($_COOKIE["lang"]) || $_COOKIE["lang"] == ""){
setcookie("lang", "en", time()+360*360*3600);
}
include 'lang/'.$_COOKIE["lang"].'.php';
现在,当此代码第一次执行时,它找不到`$_COOKIE["lang"],因此无法打开文件,但是当我刷新页面后,它加载得很好。 我想知道我做错了什么?
【问题讨论】:
-
考虑在将
$_COOKIE["lang"]放入include语句之前对它进行一些验证以避免path traversal attack。 -
@Phoenix +1,感谢您的提示
标签: php cookies multilingual