首页
工具
隐私协议
App Privacy Policy
更多
作品
关于我们
Search
1
android5遇到INSTALL_FAILED_DEXOPT 解决办法
1,659 阅读
2
设置max_connections无效
1,484 阅读
3
FlexboxLayout+recyclerView实现自动换行
1,369 阅读
4
Nginx配置多个域名
1,257 阅读
5
Android P http网络请求失败
1,230 阅读
默认分类
mysql
android
android深入
Jetpack Compose
Android传感器
php
Yii2
windows
webrtc
登录
Search
标签搜索
android
kotlin
webrtc
kurento
mysql
adb
nginx
flutter
rsa
微信
git
Yii2
md5
加密
dart
aes
wechat
windows
小程序
dexopt
Typecho
累计撰写
80
篇文章
累计收到
3
条评论
首页
栏目
默认分类
mysql
android
android深入
Jetpack Compose
Android传感器
php
Yii2
windows
webrtc
页面
工具
隐私协议
App Privacy Policy
作品
关于我们
搜索到
2
篇与
Yii2
的结果
2020-11-01
YII2 restful 限流
之前用豆瓣的API时,会有一分钟只能请求40次的限制;通过Yii2来实现这样的限制: public static function tryLimit($key, $prefix, $timeLimit, $tryTimes){ $times = Yii::$app->cache->get($key . $prefix); if (!$times) { $times = 0; } if ($times >= $tryTimes) { //一小时只能获取$tryTimes次 throw new TooManyRequestsHttpException("Too Many Requests"); } else { Yii::$app->cache->set($key . $prefix, $times + 1, $timeLimit); } } public static function controllerLimit($params, $funcName) { foreach ($params as $v) { if ($v['funciton'] == $funcName) { self::tryLimit($v['funciton'], (string)Yii::$app->request->userIP, $v['time_limit'], $v['try_times']); } } }在xxxController加入限制 public function init() { if (in_array(Yii::$app->requestedRoute, [ 'user/info' ])) { //限制IP访问接口次数(60秒访问只能访问40次) self::controllerLimit([ [ 'funciton' => 'user/info', 'time_limit' => 60, 'try_times' => 40, ] ], Yii::$app->requestedRoute); } }
2020年11月01日
385 阅读
0 评论
0 点赞
2020-08-13
Yii2中$model->load(Yii::$app->request->get())一直返回false
使用$model->load()方法时一直返回false,网上找许久,有说是安全问题的,加个参数就可以了,于是:$model->load(Yii::$app->request->get(),true)可还是没有解决,看代码:public function load($data, $formName = null) { $scope = $formName === null ? $this->formName() : $formName; if ($scope === '' && !empty($data)) { $this->setAttributes($data); return true; } elseif (isset($data[$scope])) { $this->setAttributes($data[$scope]); return true; } return false; }load()方法有两个参数,第一个参数 $data 是要填充的数据,第二个参数 $formName 是选择指定的模型。如果第二个参数不传,$formName 会默认为null,默认取当前模型 $this->formName()。如果指定了模型,会将模型名称作为key值,通过 $data[$formName] 取值,也就是这时候应该传的 $data 格式是:$data = [ 'User' => [ 'name' => 'test', 'phone' => '13000000000', 'email' => '
[email protected]
' ] ];如果 $formName 传空字符串,则 $data 传递参数格式为:$data = [ 'name' => 'test', 'phone' => '13000000000', 'email' => '
[email protected]
' ];这时应该用:$model->load($data, '');还有一种解决办法:$model->attributes = $data; // 或者 $model->setAttributes($data);
2020年08月13日
274 阅读
0 评论
0 点赞