我正在通过密码设置一个非常简单的“受保护”页面,直到那里一切正常,但我们希望只使用前3个数字/字符进行验证。
页面不是绝密或任何东西,我们只想这样避免“普通”人(不知道如何进入)访问内容。
例如,目前我们有:
$password = "NBX9785";
然后隐藏的内容隐藏如下:
<?php
if (isset($_POST["password"]) && ($_POST["password"]=="$password")) {
?>
但我们想要的只是NBX计数而不是密码的数字或其余部分,这基本上可以让我们在不需要额外编码的情况下提供更多代码。
这可能吗?有一种简单的方法吗?
为了进一步推动它可以设置它说NBX99D24其中NBX是固定的,但99,D和24分别是数字和字母?
答案 0 :(得分:1)
您可以从字符串中获取前三个字符并进行比较
if(mb_substr( $_POST["password"],0,3) === mb_substr($password, 0, 3))
{
// Your content here
}
OR
if(strpos($password, mb_substr( $_POST["password"],0,3)) === 0)
{
// Your content here
}
答案 1 :(得分:0)
使用str_len()函数吗?
$text = "this.is.a.test.text";
echo substr($text, 0,3);
上面的代码显示前3个字符,因此您可以在此处操作数据。
答案 2 :(得分:0)
这会给你NBX,但你确定要用这种方式进行用户验证吗?它不是一种安全的方法,使用数据库更加安全。
如果你确实想这样做,无限的答案就会很好。
关于你的上一个问题,你可以从4个变量中补充:
$password="NEX";
$password.="99";
$password.="D";
$password.="24";
或者,数字可以是整数(删除引号),