Luky09 2013-08-19 09:25 采纳率: 0%
浏览 1714

提交的时候表单的时候需要一起提交自动生成的cookie值

有两个网站 A和B
从A网站内点击链接进入网站B 加载一个form的时候
系统会自动生成一个cookie值
内容如下:Cookie: PHPSESSID=8elo48ck7pmrbpragcjq6qqu02; default_csrf_cookie_name=5dfd277df2749bebafc26cd5a90cc937; default_pyrocms_development=%2BhGSgpWQhawQjBo3TbDRDfCDK7xNQqSSWjVietd9Pj1Vnt7dlx2EV2iHp5VFAF6ew0S2HyWjVtBgGpdSSJ7aP8V3EwthsfwlDQHoCFntDMKW%2BrW4Ts8SoSRIg0rJ7Eek0XWI2jgzSmML%2FXJAN8WJmNfRSeBLIXBdVCrVrWyWBb9y7P%2F0Oa4i3Msdr6c3nBee4TaAgc9qZQuptV0%2FTTEXnAK%2BT1ieDbQDbTKDJtgyI1Eh0xRx4p1CCGnOP94a18xSHvsN1mEfgJYulDxv7whdw42PZy91jhQt1zZReAg%2BOXQKUnhuR%2Bcpk7GorEN04qckN%2Bv%2Bh3LlQEdA5AjEetMZQsmvexvvaTSZnXyhg0EiHjKlVOMU4BDoTIK1L1Sp4F%2Fz
加载的form 有两个field: username 和password
用户填完username和password以后 需要把上面的cookie值一起提交
该如何实现

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-13 09:22
    关注

    首先,在客户端脚本中(如JavaScript)读取Cookie的值,然后在表单提交时将其作为隐藏字段添加到表单中。然后在服务器端接收表单提交时,读取这个隐藏字段的值并验证Cookie是否有效。


    示例代码:
    JavaScript:

    //读取Cookie值
    var cookieValue = getCookie("PHPSESSID");
    
    //在表单中添加一个隐藏字段
    var input = document.createElement("input");
    input.type = "hidden";
    input.name = "session_id";
    input.value = cookieValue;
    form.appendChild(input);
    
    //表单提交
    form.submit();
    

    PHP (服务器端):

    //读取表单提交的Cookie值
    $session_id = $_POST['session_id'];
    
    //验证Cookie是否有效
    if(validateCookie($session_id)){
        //处理表单提交
        processForm();
    }else{
        //Cookie无效,重定向到登录页面
        header("Location: login.php");
    }
    

    需要注意的是,在上面的示例代码中,服务器端的验证Cookie的方法(validateCookie)还需要自己实现。

    评论

报告相同问题?

悬赏问题

  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面