我在我的网站上收到此错误,我不知道原因:
警告:preg_match()[function.preg-match]:分隔符不能是 字母数字或反斜杠
错误在于此功能:
if (isset($_REQUEST['page']) AND preg_match("\.\.", $_REQUEST['page'])) {
Header("Location: index.php");
die();
}
答案 0 :(得分:2)
您必须将正则表达式括在delimiters:
中if (isset($_REQUEST['page']) AND preg_match("/\.\./", $_REQUEST['page'])) {
Header("Location: index.php");
die();
}
答案 1 :(得分:0)
在为正则表达式操作(例如preg_match)提供模式时,PHP有一个有趣的要求,即the pattern needs to have a character delimiter在字符串的开头和结尾。这可以是任何字符,但不应在模式中使用。例如,您可以使用哈希符号作为分隔符:
if (isset($_REQUEST['page']) AND preg_match("#\.\.#", $_REQUEST['page'])) {