PHP 比较无效
PHP Comparison not working
我正在尝试阻止机器人 post 访问网站。我们 运行 Googles reCaptcha (v2) 和 Honeypot 但这些都是无效的。我怀疑他们在使用 xRumer。
无论如何,在我设置 Google reCaptcha Beta 3 之前,我想做一个简单的检查,如果电子邮件文本字段包含“@mail.ru”,则不允许提交,因为大多数提交在电子邮件字段中匹配此值。
足够简单,但无法正常工作。我查看了其他 Whosebug post 但 !== 也不起作用。
一定是简单的东西,但是我看不到。
首先我们检查表单是否已提交。然后查看最后8个字符是否匹配“@mail.ru”。我们还回显该值以确认比较是正确的,但它仍然允许 Do Something 区域。
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") {
// post so do check
$emailCheck = substr($_POST['email'], -8);
if ($emailCheck !== '@mail.ru'); {
?>
做点什么 - 只有在 $emailCheck
上不匹配时才插入
关闭检查
<?php } } ?>
HTML
<form name="form1" method="post" action="">
<p> </p>
<p><input name="email" type="text" id="email"></p>
<p> </p>
<p>
<input type="submit" name="submit" id="submit" value="Submit">
</p>
<p>Email Check: <?php echo $emailCheck; ?></p>
</form>
正如@Qirel 所指出的那样,代码中有一个错误,它是一个结束分号
if ($emailCheck !== '@mail.ru'); {
开大括号之前。
Xrumer 仍然阻止我们阻止垃圾帖子的尝试,但至少这个问题得到了准确回答。
我正在尝试阻止机器人 post 访问网站。我们 运行 Googles reCaptcha (v2) 和 Honeypot 但这些都是无效的。我怀疑他们在使用 xRumer。
无论如何,在我设置 Google reCaptcha Beta 3 之前,我想做一个简单的检查,如果电子邮件文本字段包含“@mail.ru”,则不允许提交,因为大多数提交在电子邮件字段中匹配此值。
足够简单,但无法正常工作。我查看了其他 Whosebug post 但 !== 也不起作用。
一定是简单的东西,但是我看不到。
首先我们检查表单是否已提交。然后查看最后8个字符是否匹配“@mail.ru”。我们还回显该值以确认比较是正确的,但它仍然允许 Do Something 区域。
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") {
// post so do check
$emailCheck = substr($_POST['email'], -8);
if ($emailCheck !== '@mail.ru'); {
?>
做点什么 - 只有在 $emailCheck
上不匹配时才插入关闭检查
<?php } } ?>
HTML
<form name="form1" method="post" action="">
<p> </p>
<p><input name="email" type="text" id="email"></p>
<p> </p>
<p>
<input type="submit" name="submit" id="submit" value="Submit">
</p>
<p>Email Check: <?php echo $emailCheck; ?></p>
</form>
正如@Qirel 所指出的那样,代码中有一个错误,它是一个结束分号
if ($emailCheck !== '@mail.ru'); {
开大括号之前。
Xrumer 仍然阻止我们阻止垃圾帖子的尝试,但至少这个问题得到了准确回答。