捣捣爸

捣捣爸

这家伙有点懒,还没写个性签名!

  • 财富值105
  • 威望值10
  • 总积分295

个人信息

  • 回复了 的回答

    我也出现了跨域问题,请问解决了吗?我的是报 OPTIONS 500错误,火狐说是CORS 预检通道未成功

    解决了,但是我也忘记怎么解决的了。。。

  • 回复了 的回答
    public function behaviors()
        {
            return ArrayHelper::merge([
                'corsFilter' => [
                    'class' => Cors::className(),
                ],
            ], parent::behaviors(), [
                'authenticator' => [
                    'class'       => CompositeAuth::className(),
                    'authMethods' => [
                        HttpBasicAuth::className(),
                        HttpBearerAuth::className(),
                        QueryParamAuth::className(),
                    ],
                ],
                'rateLimiter'   => [
                    'enableRateLimitHeaders' => false,
                ],
            ]);
        }
    

    谢谢回答,但仍然不行,根据https://stackoverflow.com/questions/41647444/yii2-cors-filters-error-that-no-access-control-allow-origin-header-is-present 第四和第五提到的内容,我这里cors配置根本就没起作用,我猜测应该不是在behaviors里配置的问题

  • 回复了 的回答

    修改Origin,先改成*,

    这是我自己的代码:

    $behaviors['corsFilter'] = [
        'class' => \yii\filters\Cors::class,
        'cors' => [
            'Origin' => ['*'],
            'Access-Control-Request-Method' => ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],
            'Access-Control-Request-Headers' => ['*'],
            //'Access-Control-Request-Headers' => ['authorization'],
            //'Access-Control-Allow-Credentials' => true,
            'Access-Control-Max-Age' => 60,
            'Access-Control-Expose-Headers' => ['*'],
        ],
    ];
    

    谢谢回答,但仍然是不行,之前我试过这种方法,他会提示当 credentialsinclude 的时候 origin 不能为通配符。现在我不知道改了什么地方,仍然提示的是 No 'Access-Control-Allow-Origin' header is present on the requested resource.

  • 提出了问题
    还是 vue + Yii 前后端分离的跨域问题
  • 回复了 的回答

    这个当然是 可以的

    简单的考虑,用 javascript 对密码做一些预处理就可以了,像什么 md5 sha1 之类的 都有开源的js库,当然也可以自己实现 一种加密算法,不过,因为 js代码都是需要下载到本地浏览器运行的,所以 不论你用 js 做什么手脚,即便你可以 对代码 做一些 混淆处理,只要我愿意 并且 有足够的时间 和 耐心,都是可以 读懂你的 js代码,知道你到底对 密码 做了什么处理的。 所以,这种方式 可以说是一种 中看不中用的 花拳绣腿 而已。

    安全的方式 当然也有,对 IE 来说,可以使用 ActiveX 控件,对某个版本之前的 chrome 来说,可以使用 npapi插件,这两种方式 比 js 的方案都 安全很多,因为 看不到 源代码了。不过 遗憾的是:某个版本之后 chrome 取消了 对 npapi插件的支持,所以 这么多年以来 很多的 网上银行 都是只支持 IE 登录的,原因就是 chrome 下没有一种安全的 客户端密码加密方案。

    谢谢回答,我的意思是Yii框架是否集成了相关功能可以直接调用,我找到了beforeValidate应该可以实现我的想法,https://www.yiichina.com/doc/guide/2.0/input-form-javascript#beforevalidate,我还在研究学习。
    其实都不用读懂代码,也不需要知晓我在前端的加密方式,就算是获取了加密后的表单数据,也可以用POSTMAN这样的软件来模拟登陆之类的操作。但在前端对明文密码进行处理至少一定程度上可以防止隐私泄露

  • 请问楼主,您说的参数要写 Users[pic] 0。0是写在哪里?怎么写

  • 嗯我找到原因了

    我的一个字段 answerOrder 设置的是 bit 类型,用 Gii 生成的 rules 里面有一条:
    [['answerOrder'], 'boolean'],
    而我在进行块赋值的时候给 answerOrder 不管赋值为 1,0,true,false 都会造成插入失败,把数据表中 bit 类型改为 int,或者把 rules 里面上述语句删掉就可以了

    但是仍然有问题不明白:

    1. bit类型应该怎么赋值?
    2. 为什么 getErrors()不提示错误信息?
  • 为什么我总是不能以代码格式提交代码

  • 提出了问题
    数据插入失败,却又获取不到 errors?
见习主管 等级规则
295/500
资料完整度
30/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

2