php如果条件与OR运算符不起作用

时间:2017-11-01 21:08:37

标签: php strpos

我试图在脚本受到攻击时检查网址是win还是scholartips

<?php if (!strpos($_SERVER['REQUEST_URI'], 'win') || !strpos($_SERVER['REQUEST_URI'], 'scholartips') ): ?>
 conditional script here
<?php endif; ?>

但每当我点击一个包含example.com/win/example.com/scholartips/的网址时,条件脚本仍会被加载。我的病情有什么问题?如果我删除了代码工作的1个条件,但我想要定位2个url路径。感谢。

2 个答案:

答案 0 :(得分:1)

您想使用AND运算符。 example.com/win不包含scholartips,并且由于OR运算符,整个子句的计算结果为TRUE。所以切换||到&amp;&amp;。

答案 1 :(得分:0)

你应该使用&amp;&amp;运营商,而非运营商。

无论您是访问/ win /或/ scholarship /,其中一个strpos检查将始终评估为true。