English 中文(简体)
PHP 象征性使用和处理
原标题:PHP form token usage and handling

I m astartner working on alogin script in PHP. 这是我迄今所做的象征性发言:

$_SESSION["form_token"] = md5(rand(time (), true)) ;

该声明是在用户表示他/她希望登录后才发布的。

我的有限理解是,象征性的目的是在一个独特的时间点确定一个独特的用户,并掩饰象征性信息的形式。

然后,所有东西都变成了幻觉。 我的3个公开问题:

  1. 什么时候“检查”为安全目的标出的形式?

  2. 我如何检查?

  3. 如果是这样的话,我何时“des”被打成什么形式? (IOW,在用户记录出来之前,象征性停留的形式是否“有效?)

最佳回答

没有必要做你试图做的事情。 当你开始用本届会议开始时,已经为你编制了一个独特的会议安排。 请将此列入表格。 它通过 default处理。 也不需要检查会议安排,这还是由你处理。

您负责认证用户并储存其认证身份(例如:SESSION[用户_id] = 用户美元)。 页: 1 如果用户记录显示,你会用会议时间销毁会议。

您应确保会议开始: 页: 1

这方面的基本实例是:

<?php
session_start(); // starts new or resumes existing session
session_regenerate_id(true); // regenerates SESSIONID to prevent hijacking

function login($username, $password)
{
    $user = new User();
    if ($user->login($username, $password)) {
        $_SESSION[ user_id ] = $user->getId();
        return true;
    }
    return false;
}

function logout()
{
    session_destroy();
}

function isLoggedIn()
{
    return isset($_SESSION[ user_id ]);
}

function generateFormHash($salt)
{
    $hash = md5(mt_rand(1,1000000) . $salt);
    $_SESSION[ csrf_hash ] = $hash
    return $hash;
}

function isValidFormHash($hash)
{
    return $_SESSION[ csrf_hash ] === $hash;
}

Edit: I misunderstood the original question. 我添加了以上有关生成和验证表 has的方法;

请参看以下资源:

问题回答

你可以检查冻结的框架执行情况。

除了具体实施外,《手册》还描述了这种内容的推理和用法形式。

Its Zend_Form_Element_Hash https://docs.zendframework.com/zend-form/element/csrf/





相关问题
ajax login using httpRequest?

I am trying to develop my login script to give feedback to the user if the login is valid or not. Basically if it isn t correct a div box will show saying its wrong, if its correct it will show its ...

Remotely authenticating client Windows user on demand

Suppose I am writing a server for a particular network protocol. If I know that the client is running on a Windows machine, is it possible for my server to authenticate the Windows user that owns the ...

Role/Permission based forms authorizing/authentication?

While looking into forms authorizing/authentication, I found that it is possible to do role based authorizing by adding an array of roles to a FormsAuthenticationTicket. That way I can write User....

热门标签