gpt4 book ai didi

Codeigniter - 不允许的关键字符,调整代码

转载 作者:行者123 更新时间:2023-12-03 15:30:51 24 4
gpt4 key购买 nike

我们的网站遭到了 ddos​​ 攻击,并发送了一些格式错误的 cookie。我们使用 CodeIgniter 框架。由于要求我们的用户清除他们的 cookie 是不合理的,我想知道更改核心中的以下功能会产生什么后果。产生错误的 cookie 具有以下形式:

__utmt_~1

原来的功能是:
if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
{
exit('Disallowed Key Characters.');
}

如果我更改它以允许 ~ 有什么可能的副作用?我知道这是为了防止恶意用户,我想确保这不会产生不良影响。
if ( ! preg_match("/^[a-z0-9:_\/-\~]+$/i", $str))
{
exit('Disallowed Key Characters.');
}

最佳答案

这是我的方法,它解决了问题并保持了 CI 核心的原始性

只需将此代码放入文件 application/core/MY_Input.php

如果您的 $config['subclass_prefix'] 不是 'MY_',请重命名类和 php 文件

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');

class MY_Input extends CI_Input {

function _sanitize_globals() {

// Avoid error come from cookie __utmt_~1, it set by Google Analatics
foreach($_COOKIE as $key => $val) {
if (strpos($key, '~') !== false) {
unset($_COOKIE[$key]);
}
}

parent::_sanitize_globals();
}
}

关于Codeigniter - 不允许的关键字符,调整代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26264648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com