我创建了一个php脚本来查看txt文件的内容是否与用户输入相同。我写了一个if语句来查看它是否正确以及是否将其发送给其他人。如果我不发送任何变量,那么它可以工作,并显示
a is b is file is 1
但如果我输入文件并显示正确的内容
a is test.txt b is hello file is hello 0
这是我的代码
<?php
session_destroy();
$a=htmlspecialchars($_REQUEST['a']);
$b=htmlspecialchars($_REQUEST['b']);
$my_file = file_get_contents($a);
echo "a is $a\n";
echo "b is $b\n";
echo "file is $my_file\n";
if ( $my_file == $b ) {
echo "1";
}else {
echo "0";
}
?>
有什么想法吗?
答案 0 :(得分:0)
这些是未初始化的变量,所以如果你什么都不输入,那么你得到if(false == false),这是真的。
这是因为php将null解释为false。我承认这很奇怪。
检查您的变量是否已设置,或使用默认值初始化它们。
答案 1 :(得分:0)
尝试对从文件中读取的内容使用htmlspecialchars函数以及安全方面,然后对从文件和用户输入读取的输入使用trim