Thinkphp如何有效的设置session过期时间

thinkphp提供了一个参数让我们配置session过期时间。 'SESSION_OPTIONS' = array( expire => 3600 ); 然而这一配置是否真的有效?在多次测试之后,不遂人意。 why?那我们试着从源码上分析这个配置参数的,它是怎么让尝试着然我们的session过期的。 上图在中展现了框架对session有效期的操作,它设置了php.ini中的两个变量“session.gc_maxlifetime”和“session.cookie_lifetime”的值。 那么我们继续追问?这个两个参数就能让session按照自己设置的时间过期? 我们看看这两个参数代表着什么? session.gc_maxlifetime:session的有效生存时间,过了这个时间session将进入销毁队列。 session.cookie_lifetime:值为0代表关闭浏览器,保存在客户端的sessionid将立即失效。 session.gc_maxlifetime这个是关键,但过了这个时间并不能马上销毁,这又...

php session有效期的问题

PHP中的session有效期默认是1440秒(24分钟)【weiweiok 注:php5里默认的是180分】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。PHP中的session有效期默认是1440秒(24分钟)【weiweiok 注:php5里默认的是180分】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。 一个已知管用的方法是,使用 session_set_save_handler,接管所有的session管理工作,一般是把session信息存储到数据库,这样可以通过SQL语句来删除所有过期的session,精确地控制session的有效期。这也是基于PHP的大型网站常用的方法。但是,一般的小型网站,似乎没有必要这么劳师动众。 但是一般的Session的生命期有限,如果用户关闭了浏览器,就不能保存Session的变量了!那么怎么样可以实现Session的永久生命期呢? 大家知道,Session储存在服务器端,根据客户端提供的SessionID来得到这个用户的文...

SPF and DMARC

DMARC(Domain-based Message Authentication, Reporting & Conformance)是一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议,邮件收发双方建立了邮件反馈机制,便于邮件发送方和邮件接收方共同对域名的管理进行完善和监督。对于未通过前述检查的邮件,接收方则按照发送方指定的策略进行处理,如直接投入垃圾箱或拒收。从而有效识别并拦截欺诈邮件和钓鱼邮件,保障用户个人信息安全。 https://service.exmail.qq.com/cgi-bin/help?subtype=1&no=1001520&id=16 1.在设置DMARC记录之前,请务必确保已设置SPF记录: TXT记录值为:v=spf1 include:spf.mail.qq.com ~all 2.添加以下DMARC记录: 主机记录: _dmarc记录类型:TXT记录值: v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com 注意:DMARC记录里,有一个值...
affiliate_link

Python中的List Comprehensions(列表解释|列表生成式)

在某些情况下,我们需要对列表进行某些操作,例如对列表中的每一个元素都乘以2,这样一般来说就是遍历每个元素在乘以2。那么写下来就得两行了。而且这会修改原来的列表,如果要求不能修改原来的列表,又得多一行了。 一眼看上去就是臃肿二字。 Python提供了更加简便的写法: 输出: 1 3 5 7 2 6 10 14 这么写显得简便得多了。而且也很容易懂,先说for elem in mylist这部分,就是一个循环——声明elem临时变量,遍历mylist列表。而elem*2则表明对elem临时变量进行乘以2的操作,最后[]则很好理解,因为我们需要的是一个列表。总的来说就是从mylist列表中取元素,返回一个每个元素都乘以2的列表。 列表解释的强大之处不仅仅如此,还可以进行条件过滤: 那么这样就把列表中所有的偶数的二次方都输出出来了。

MoviePy-Clips变换与特效

下面是MoviePy中的几种对clip的修改: 非常常见的修改clip属性的方法有:clip.set_duration, clip.set_audio, clip.set_mask, clip.set_start 等. 已经实现的特效 .clip.subclip(t1,t2): 截取t1到t2时间段内的片段;还有一些高级效果,loop:让clip循环播放、time_mirror:让clip倒播,这些方法位于特殊的模块 moviepy.video.fx, moviepy.audio.fx,应用clip.fx方法,比如 clip.fx(time_mirror) 让视频倒播。以上的特效其实本质上并不是原地直接修改的(没有对原始视频修改),而是根据修改产生新的clip。所以,我们如果想让修改生效,需要将修改过的产生的clip赋值给某clip,保存修改。举个栗子。 my_clip = VideoFileClip("some_file.mp4") my_clip.set_start(t=5) #没有做任何改变,修改会丢失 my_new_clip = my_clip.set_st...

ffmpeg中的sws_scale算法性能测试

经常用到ffmpeg中的sws_scale来进行图像缩放和格式转换,该函数可以使用各种不同算法来对图像进行处理。以前一直很懒,懒得测试和甄别应该使用哪种算法,最近的工作时间,很多时候需要等待别人。忙里偷闲,对ffmpeg的这一组函数进行了一下封装,顺便测试了一下各种算法。 简单说一下测试环境,我使用的是Dell的品牌机,i5的CPU。ffmpeg是2010年8月左右的当时最新版本编译而成,我使用的是其静态库版本。 sws_scale的算法有如下这些选择。 #define SWS_FAST_BILINEAR 1 #define SWS_BILINEAR 2 #define SWS_BICUBIC 4 #define SWS_X 8 #define SWS_POINT 0x10 #define SWS_AREA 0x20 #define SWS_BICUBLIN 0x40 #define SWS_GAUSS 0x80 #def...

moviepy 样码

更改视频亮度,增加字幕,去除音轨,淡入特效,转换,截取时间,控制位置,组合图框,合成多段, from django.test import TestCase # Create your tests here. # coding=utf-8 from moviepy.editor import * from moviepy.video.tools.subtitles import SubtitlesClip from moviepy.video.fx import volumex, resize, mirrorx, lum_contrast from moviepy.video.tools.segmenting import findObjects # 导入字幕 generator = lambda txt: TextClip(txt, font='SimHei', fontsize=24, color='black') sub = SubtitlesClip("welcome.srt", generator) # 片头 start_clip = VideoFile...

python视频处理库:moviepy 第二篇

moviepy底层使用ffmpeg读取和导出视频以及音频文件。它使用ImageMagic对视频插入文字以及生成GIF(可选)。对于不同的媒体文件的处理是通过python高效的数值计算库numpy来完成的。一些特效处理等使用到了python的图像处理库比如PIL,scikit-images以及科学计算库scipy等。 关于moviepy的一些基础概念。moviepy的核心概念是clips,可以是AudioCLips 和 VideoClips 。这些clips可以被修改(剪切,降低播放速度,调整亮度等)或者和其他的clips混合到一起组成新的clips。然后这些clips可以通过pygame或者Ipython(jupyter notebook)预览,或者导出为videos文件或者GIF。VideoClips可以通过一个视频文件,图像文件或者文字以及动画来创建,这些VideoClips还可以有音轨(audio track)即 AudioCLips以及mask(这种一种特殊的VideoClips,当其他的clips混合在一起的时候,这个mask决...

python视频处理库:moviepy

处理视频是一个常见的需求。那么在python中如何用代码处理视频呢?最近我无意间发现了一个很好用的python视频处理库moviepy,其使用起来简单易用,而且功能比较强大,这里记录一下分享给大家。 What is moviepy? 以下的介绍来自moviepy的官方文档。 moviepy是一个用于视频编辑的python模块,其可以用来对视频进行一些基础的操作(比如剪切,连接,插入标题等),视频创作(比如非线性编辑),视频处理以及给视频增加一些炫酷的特效等。它可以读写大多数常见的视频格式,包括GIF。 How to install moviepy? moviepy的安装非常简单,直接使用命令pip install moviepy即可。当然你也可以选择从源码安装,下载源码包,解压缩,然后切换到含有setup.py的目录,执行 python setup.py install 即可。 moviepy的底层依赖于Numpy(用于高效数值处理),imageio(图像处理), Decorator,tqdm(用于显示进度条)。它在Windows/Mac/Unix...

Detecting UTF BOM using PHP

You need to detect the three bytes and remove the BOM. Below is a simplified example on how to detect and remove the three bytes. Here is a script to recursively check php files for BOM (ByteOrderMark)