所以希望能够找到一个开源或者免费的iCalendar组件,帮助生成.ics格式的文件。...循环事件有多个属性需要设置,还要计算接下来发生的时间,但是在iCalendar标准中,这些循环设置,最终都化作为一个RRule格式的字符串(关于RRule格式的标准,我们可以参见http://www.kanzaki.com...既然是以DDay.iCal来生成ics文件,那么想必这个组件也有解析RRule格式和生成RRule格式的方法。下面就说说如果使用DDay.iCal处理RRule。...一、RRule的解析 DDay.iCal中有个RecurrencePattern对象,该对象可以用于描述循环设置。...该对象在构造时可以传入RRule字符串,然后我们可以使用RecurringComponent对象的GetOccurrences方法获得循环事件在指定时间区间内的发生的时间。
iCalendar文件导入手机或电脑的方法请参考 https://i.scnu.edu.cn/ical/doc (华工这个链接失效了,自己找教程吧……) 2020.9.15更新 由于4m3即将停止使用,...本脚本对1.tongji进行了适配,请下载CourseTable2iCal_1.py运行,原先不带_1的文件运行会出错,仅保留在此作学习参考用。...另外由于1.tongji使用了新的课表展示/储存方式,因此iCalendar文件不再写成recurrence的规则,后果就是不能单独修改某个日程然后把剩余的都一并修改。...顺便吐槽一下,1.tongji有的bug让我感觉难以接受 2021.2.25更新 1.tongji及统一身份认证系统升级后,登录方式有变,需要手动输入验证码。...2021.8.31更新 统一认证的验证码终于看起来靠谱点了,但现在 CourseTable2iCal.py 也用不了了。
谷歌采用的思路是设置一个随机生成的静态密码与账号绑定。...我把修改后的源代码放到了全球最大的同性交友平台上( idapro123/mail_protector),修改的内容并不多,大家不妨可以看看。...我同样将auth_http的代码提交到了交友平台上,因为考虑到产线环境需要高性能的读写,才为auth_http服务引入了redis作为中间结果的缓存服务器。...iCalendar本身可以使用HTTP进行分发(例如使用世界上最好的语言PHP写的DAViCal),所以这个问题其实也能解决。...突然间,我面对着服务器上新增的四个服务(Mail代理、auth_http、Redis、iCal),竟然没有一点欣慰的感觉。
我在这篇中会主要介绍我在日程管理上的经验, 至于任务管理,因为它涉及的内容太多,我就之后再写一篇吧。...CalDAV 主要使用 iCalendar(iCal)格式来存储和传输日历信息。...关于 CalDAV server 的选择有很多,我随便搜了下 CalDAV | Tasks.org CalDAV server 对我而言主要考虑如下方面: 需要能满足我的需求,可以用其他支持 CalDAV...的客户端进行订阅; 尽可能轻量,因为我的目标很清晰,对其他功能没依赖; 可以支持认证鉴权,为了让自己更轻松,日历中通常会包含很多关键信息,我不想让信息泄漏; 经过一番对比,我最终选择了 Radicale...; 开箱即用; 可以通过 plugin 进行扩展; 支持绝对多数的 client; 直接通过文件存储,无需额外依赖; GPLv3 授权的开源软件 事实上它的使用很简单,直接执行如下命令就可以启动了。
然而 Thinkphp在缓存使用却存在缺陷,生成缓存时,Thinkphp会将数据序列化存进一个php文件,这就产生了很大的安全问题。...打开Temp文件夹会发现有很多缓存文件,我们随便打开即可看看,可以发现里面的内容有点像网站配置信息,只不过是序列化后的结果 ? ?...xyhcms其实还有一个漏洞,在模板管理处可以添加一个php后缀的模板,文件内容也未做任何检测过滤。下面是成功getshell过程 ? ?...其实,我还真的实战过,只是不方便贴图,使用弱口令做密码还是挺多的,所以锤子未必不可用。...还有,有的网站,虽然说你用很简单的方法getshell,但是其实可以研究的东西还有很多,比如你getshell之后发现权限不够,那就可以试试提权,例如用udf提权、使用mysql远程连接结合sqlmap
WEB防护 我们日常用的web也就是Nginx、Apache,IIS等,对于IIS我没什么兴趣,也不想研究,所以这里只说一些Nginx和Apache的基础防护的东西 在Apache中,有一个专门的模块...Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击 PHP Code Injectiod:阻止PHP代码注入 HTTP Protocol Violations:阻止违反...安装完成后,在httpd目录下,会生成一个mod_security2.so的文件,需要在apache配置文件中添加引用mod,另外会生成一个文件夹modsecurity.d来存放ModSecurity规则集...包括JAVA、PHP、IIS、SQL、XSS等防护规则,基础的防护都有了。...robots.txt确明确写出了你的后台地址,这种做法真的是…… 备份或打包的程序不要放web目录下 这种做法,无疑是把你的网站开源了 网站目录降权 很多人直接将网站放root目录下,这完全是为入侵提权搭了个好梯子
在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点。如果想了解更多,可以点击蓝字查看:有用有趣的Python库! 1....对我来说,这是它最好的功能之一。如果我需要使用JSON,可以考虑使用Python。 JMESPath使Python处理JSON更加容易,它允许您明确的地指定如何从JSON文档中提取元素。...使用iCalendar规范的超集,根据重复规则计算日期。...增强的IPython shell提供的一些功能包括: 全面的对象自省。 输入历史记录,跨会话持续存在。 在具有自动生成的引用的会话期间缓存输出结果。...我可以跟踪大多数电话的位置,并在进入一个区域时开始操作,例如当我回家时打开车库灯。 它还可以控制我们所有的娱乐系统,例如三星电视和Sonos扬声器。
对我来说,这是它最好的功能之一。如果我需要使用JSON,可以考虑使用Python。 JMESPath使Python处理JSON更加容易,它允许您明确的地指定如何从JSON文档中提取元素。...我的经验是,常规的Python日期时间功能在哪里结束,而python-dateutil就出现了。 您可以使用此库做很多很棒的事情。...使用iCalendar规范的超集,根据重复规则计算日期。...增强的IPython shell提供的一些功能包括: 全面的对象自省。 输入历史记录,跨会话持续存在。 在具有自动生成的引用的会话期间缓存输出结果。...我可以跟踪大多数电话的位置,并在进入一个区域时开始操作,例如当我回家时打开车库灯。 它还可以控制我们所有的娱乐系统,例如三星电视和Sonos扬声器。
大家好,又见面了,我是全栈君。 PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的工作。...PHP opcode 缓存组件,用于缓存、优化 PHP 中间代码;已经不更新了不推荐 APCu:是APC的一个分支,共享内存,缓存用户数据,不能缓存opcode,可以配合Opcache 使用...依据PHP字节码缓存的场景,OPCache的内存管理设计非常简单,快速读写,不释放内存,过期数据置为Wasted。 当Wasted内存大于设定值时,自动重启OPCache机制,清空并重新生成缓存。...我们需要注意一个事情,在PHP开发中,一般会有大段的注释,也会被缓存到OPCache中。 可以通过php.ini的配置,关闭注释的缓存。...OPCache 在创建缓存时并不会阻止其他进程读取。 这会导致大量进程反复新建缓存。所以,不要设置OPCache过期时间 每次发布新代码时,都会出现反复新建缓存的情况。如何避免呢?
; 其实步骤2)、3)生成的语法树和opcode,同一个PHP脚本每次运行的结果都是一样的, 在PHP-FPM模式下,每次请求都要处理一遍,是对系统资源极大的浪费,那么有没有办法优化呢?...PHP opcode 缓存组件,用于缓存、优化 PHP 中间代码;已经不更新了不推荐 APCu:是APC的一个分支,共享内存,缓存用户数据,不能缓存opcode,可以配合Opcache 使用 eAccelerate...依据PHP字节码缓存的场景,OPCache的内存管理设计非常简单,快速读写,不释放内存,过期数据置为Wasted。 当Wasted内存大于设定值时,自动重启OPCache机制,清空并重新生成缓存。...我们需要注意一个事情,在PHP开发中,一般会有大段的注释,也会被缓存到OPCache中。 可以通过php.ini的配置,关闭注释的缓存。...OPCache 在创建缓存时并不会阻止其他进程读取。 这会导致大量进程反复新建缓存。所以,不要设置OPCache过期时间 每次发布新代码时,都会出现反复新建缓存的情况。如何避免呢?
那么“黑客”在具体攻击网站的时候,先可以通过网站提供的图片上传功能(也可以是其他的手段)上传一个包含了恶意PHP代码的图片文件。...1、服务器上别装一些乱七八糟的东西,什么360安全卫士之类的,我经常在一些站长朋友的服务器上看到,建议大家一定要卸载,如果有360安全卫士,我一分钟可以攻破你服务器并提权,具体原因省略掉。...除了常见的80端口和MYSQL、Memcache、3389使用的端口外,如果无特殊需求,建议阻止其他一切端口的进出。...一般情况下我们很少3389登录服务器,这个时候,我们可以完全全局禁止生成常见后缀的文件,exe\bat\vbs\ini\txt\cmd\com\dll等等,这样黑客想在你服务器上写入危险文件就变得非常困难了...;再比如说,锁定部分注册表项目防止被创建账户和提权。
/发现可以成功读取 /php/file_manager_json.php?path=../ 接着再进行读取发现../../被ban了,可通过.././.....(我手工操作的 再写入一句话,蚁剑成功连接 但是这里蚁剑有些命令不能执行,估计是有杀软阻止了 内网渗透 上传免杀的fscan扫一下内网,发现存在主机10.0.0.222,开放了80、135、445...然后第二次就可以成功上传asp文件 最后蚁剑成功连接 但是这里蚁剑是无法执行命令 于是再利用工具Webshell_Generate生成一个冰蝎的免杀webshell,通过%00进行截断上传,最后冰蝎成功连接...这里就可以成功执行命令,可以得知打了补丁KB4464455 CVE-2020-0787本地提权 直接GitHub下载BitsArbitraryFileMoveExploit.exe,不过冰蝎和蚁剑都不能直接上传...,然后用cs自带的代理成功rdp,最终运行BitsArbitraryFileMoveExploit.exe提权
首先我这里完全不复现这个问题,然后提PR的人说是他的环境是PHP 7。所以我就得去构造环境,但是我构造出的PHP 7环境也不复现。...然后提PR的人说dreamhost托管的wordpress能重现这个问题。于是我又去dreamhost折腾了一番。dreamhost的UE十分糟糕。...再后来就是提PR得人提了一个缓存系统varnish。然后我突然想到nginx得URL匹配有些人喜欢直接匹配后缀得,说不定这个也是,把.js结尾的文件全部识别为静态文件走缓存了。...然后我们的WP-Code-Highlight.js的配置页里,是一个php文件后面跟了一个参数,恰好是.js结束的。于是乎试了一下,提PR的人果然说解决了。...我参照的那个解决方案主要是这里有点问题,所以我自己写了。 另外似乎pb文件里并不能区分是proto v3还是v2生成的,所以两种方案没法兼容啊,所以新开个分支搞喽。
我仍然认为这是一个远程向量,因为许多应用程序允许文件上传,并且攻击者可以提供模板文件的相对路径或完整路径,这意味着 UNC 路径也可以在 Windows 环境下工作。...环境可能有很大不同,webroot 中的可写目录可能不存在,.htaccess 可能会阻止对后门的访问,等等。...鉴于这种情况,我提出了一种特定于应用程序的技术,可以利用该漏洞直接远程执行代码,而无需这些环境因素。 如果使用string:资源,将调用其中包含已编译模板文件process的方法。...php+phpinfo();",$s)} 请求需要触发两次的原因是第一次写入缓存文件,然后覆盖。第二次触发缓存并包含文件以进行远程代码执行。...字符串被多次注入到生成的代码中。
可以想象的是,万一 php 程序中有漏洞,攻击者上传木马,便可以修改网站的所有文件,网站首页被黑,也就不足为怪了。...我们认为,一个网站可写目录主要分为以下几种: php 数据缓存目录,如 discuz 的 forumdata 目录,就存放了大量数据缓存文件。...简单地去掉php 文件的执行权限,并不能阻止 php-fpm 进程解析之。 接下来,根据以上总结,系统管理员如何配置nginx 的目录规则,才更安全呢?...数据缓存目录 /cache/,这个目录的特点是需要777 权限,无须提供给用户访问,那么可以按以下参考配置 nginx location ~ “^/cache” { return 403; } location...显然,重要的php 配置文件,请勿放在此类目录下。 静态文件生成目录 public 这些目录一般都是php 生成的静态页的保存目录,显然与附件目录有类似之处,按附件目录的权限设置即可。
领取专属 10元无门槛券
手把手带您无忧上云