正在生成会话令牌

问题描述 投票:1回答:3

我正在使用一个JavaScript文件来对php文件(邮件发件人)进行ajax调用。

我不希望有人构建使用适当参数调用php页面的机器人,因此我希望其中一个参数是令牌字符串,然后php可以将其与服务器端存储的字符串进行比较。] >

因此,我制作了一个PHP,该PHP创建了一个随机字符串并将其保存到storageSession,然后回显它。

我的JS有一个运行该PHP文件的ajax调用,以获取令牌...但是由于某种原因,它没有。

[不幸的是,我无法在这里工作,也无法安装chrome扩展程序(毕竟,我不是程序员,只是不想让存在最严重漏洞的网站作为种子的编辑器)和我在家看不到代码。

我希望我的记忆很好。

function generateRandomString() {
  $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  $charactersLength = strlen($characters);
  $String = '';
  for ($i = 0; $i < 20; ++$i) {
    $String .= $characters[rand(0, $charactersLength - 1)];
  }
  $_SESSION['token'] = $String;
  echo $String;
}


var myId;
$ajax(token){
  data: ''
  type: 'text'
  success{
    myId=token;
    console.log(myId);
}

控制台显示“未定义”。为什么?

我正在使用一个JavaScript文件来对php文件(邮件发件人)进行ajax调用。我不希望有人建立使用适当参数调用php页面的机器人,所以我想要一个...

php jquery ajax token server-side
3个回答
3
投票

$_SESSION是一个数组。您必须以这种方式分配变量:


0
投票
function generateRandomString() {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $String = '';
    for ($i = 0; $i < 20; ++$i) {
        $String. = $characters[rand(0, $charactersLength - 1)];
    }
    $_SESSION['token'] = $String;
    echo $String;
}
var myId;
$ajax(token) {
    data: ''
    type: 'text'
    success {
        myId = token;
        console.log(myId);
    }
}

0
投票

code“:400,” error_msg“:”无效的用户名或电子邮件地址(400)“,” error_data“:” {\“ error_title \”:\“不正确的Email \”,\“ error_message \”:\“您输入的电子邮件似乎不属于某个帐户。请检查您的电子邮件地址,然后重试。\“}”,“ request_args”:[{“ key”:“ api_key”,“ value”:“ 3e7c78e35a76a9299309885393b02d97

© www.soinside.com 2019 - 2024. All rights reserved.