会话 ID 太长或包含非法字符,有效字符为 a-z、A-Z、0-9 和 '-,' [英] The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,'

查看:29
本文介绍了会话 ID 太长或包含非法字符,有效字符为 a-z、A-Z、0-9 和 '-,'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何解决:

Warning: session_start() [function.session-start]: session id 太长或包含非法字符,有效字符为az, AZ, 0-9 和'-,' in ..... on line3

Warning: session_start() [function.session-start]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in ..... on line 3

警告:session_start() [function.session-start]:无法发送会话 cookie - 第 3 行中的(输出开始于 ......:3)已发送的标头

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at ......:3) in ..... on line 3

警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 第 3 行中的 ..... 中已发送的标头(输出开始于 .....:3)

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at .....:3) in ..... on line 3

推荐答案

看看这个 session_start() 讨论 解决方法:

have a look at this session_start() discussion for a work-around:

session_start() 如果 PHPSESSID 包含非法字符,则生成警告

session_start() generate a warning if PHPSESSID contains illegal characters

警告:session_start() [function.session-start]:session id 包含非法字符,有效字符为/home/para/dev/mon_site/header 中的 az、AZ、0-9 和-,".第 17 行的 php

Warning: session_start() [function.session-start]: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in /home/para/dev/mon_site/header.php on line 17

为了避免我写了这个:

   <?php
        function my_session_start()
        {
            if (ini_get('session.use_cookies') && isset($_COOKIE['PHPSESSID'])) {
                $sessid = $_COOKIE['PHPSESSID'];
            } elseif (!ini_get('session.use_only_cookies') && isset($_GET['PHPSESSID'])) {
                $sessid = $_GET['PHPSESSID'];
            } else {
                session_start();
                return false;
            }

           if (!preg_match('/^[a-z0-9]{32}$/', $sessid)) {
                return false;
            }
            session_start();

           return true;
        }
    ?>

这篇关于会话 ID 太长或包含非法字符,有效字符为 a-z、A-Z、0-9 和 '-,'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆