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 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名