luyaran

luyaran 查看完整档案

北京编辑  |  填写毕业院校北京快道网络有限公司  |  PHP工程师 编辑 blog.csdn.net/luyaran 编辑
编辑

喜欢阳光,向往光明

个人动态

luyaran 回答了问题 · 2019-02-13

防止新用户刷评论

楼上有说限制IP的,这个很好,我来稍稍完善一下,限制IP的同时可以再次区分下浏览器等物理因素,像百度广告的防止恶意点击就做得非常好,咱们可以参考下

关注 10 回答 8

luyaran 回答了问题 · 2019-02-13

python定时执行,每天0点3分30秒开始,每隔三分半钟(210秒)执行

只是定时的话,结合shell脚本不就行了

关注 4 回答 3

luyaran 回答了问题 · 2018-08-28

在mysql中向一个字符串类型的字段插入超过定义长度的字符串,没有自动截取,而是直接报错?

get了。。。

关注 4 回答 3

luyaran 回答了问题 · 2018-08-28

apache http server停止工作

哇。。。咱也遇过这个错误,貌似是PHP把Apache的资源耗尽后才会出现的。。。解决办法就是提高你的环境硬件和软件配置,或者修改你的代码,至少不要造成资源不够用

关注 2 回答 1

luyaran 回答了问题 · 2018-08-28

php 数组的处理,感觉很难

这波操作厉害了

关注 4 回答 3

luyaran 回答了问题 · 2018-08-28

解决Html 的 Button 怎么触发php的方法?

你直接写js,完事用js触发PHP不就可以了???

关注 3 回答 2

luyaran 回答了问题 · 2018-08-28

解决lnmp架构php的错误日志怎么全部打印到nginx的日志中去了?

详细了。。。

关注 3 回答 2

luyaran 回答了问题 · 2018-08-28

数据表设计的一个小小疑问

顶楼上。。。

关注 13 回答 11

luyaran 发布了文章 · 2018-07-09

laravel5.2使用Captcha生成验证码(session巨坑)

最近有朋友要我帮忙弄一下laravel的验证码登陆,所以稍稍研究了一下。(本人都快忘了咋使用laravel了)

首先,安装laravel就不用在下赘述了吧,我的版本是5.2.45(注:laravel5.2.6以上的版本中间件可以自动加载),这还是挺重要的。

安装完成之后,你需要使用composer来加载你的Captcha,具体方法就是在你的composer.json中的require数组中加上"gregwar/captcha":"1.*"这行代码。然后嘞,就在你的项目根目录下使用cmd来运行composer update这行代码。这样一来的话,就算是安装上这个库或者是中间件了。之后就可以放肆的写你的代码了。

php:(具体的路由啥的在下就不做太多的赘述了,只写关键代码)

public function captcha($tmp)
{

//生成验证码图片的Builder对象,配置相应属性
$builder = new CaptchaBuilder;
//可以设置图片宽高及字体
$builder->build($width = 100, $height = 40, $font = null);
//获取验证码的内容
$phrase = $builder->getPhrase();

//把内容存入session
Session::flash('milkcaptcha', $phrase);
//生成图片
header("Cache-Control: no-cache, must-revalidate");
header('Content-Type: image/jpeg');
$builder->output();

}

blade模板的调用:

<img data-original="{{url('/captcha/1')}}" alt="" onclick="this.data-original='{{url('/captcha')}}/'+Math.random()" width="100" height="40" border="0">

如果你以为这样就完事了的话,那你真的是too yang too simple了。在你验证的时候你会发现怎么样都是错误。
是不是很酸爽。因为在laravel5.2中,所有的session都是不能跨控制器、方法的,如果跨的话,session会重新生
成,默认session的传递需要经过中间件。不要急,接下来的方法就是解决之道。目前本人所知有两种解决方案,
其一就是自己建一个中间件,然后把所有的session都存储在其中,但是有点小麻烦,接下来本人介绍一种简单的
方法,在你的laravelappHttpKernel.php 文件里的$middleware里加上以下代码:

IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode::class,
IlluminateCookieMiddlewareEncryptCookies::class,
IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
IlluminateSessionMiddlewareStartSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class,

之后就可以放心的使用session了。这是在下的验证验证码的方式,

public function login_data()
{

$userInput = \Request::get('captcha');

if (Session::get('milkcaptcha') == $userInput) {
    //用户输入验证码正确,验证你自己密码用户名
   echo 1;
} else {
    //用户输入验证码错误
    echo 2;
}

}

最后不得不吐槽一下laravel的官方文档,像这种坑都不提前说明,估计是担心开发者开发的太顺心了吧。
END。。。
祝大家工作顺利,天天开心,每个人都有自己的小对象,长得还非常的有样。。。

查看原文

赞 0 收藏 0 评论 0

luyaran 回答了问题 · 2018-06-14

问个cookie的问题,请多指教,谢谢!

cookie跨域是不行的,不过如果要实现信息共享的话,到时不妨考虑用别的方案

关注 5 回答 4

认证与成就

  • 获得 0 次点赞
  • 获得 0 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 0 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2017-05-09
个人主页被 269 人浏览