博客文章 | 第 6 页
Yii2 开启 CSRF 后 POST 请求"提交的数据无法被验证"
CSRF 全称 Cross-site request forgery,即跨站请求伪造。利用 CSRF 攻击者可以破坏网络请求会话的完整性。
WWDC19:2019苹果全球开发者大会
昨晚WWDC19如期举行,一如既往的吸引了不少开发者和媒体的关注。本次WWDC内容已经提前被媒体曝光了不少,但还是有不少惊喜点。
git技巧:gitignore忽略已提交的文件
.gitignore仅会忽略未被track的文件,如果文件已由git管理,则修改.gitignore忽略该文件是不会生效的。应该删除缓存重新添加track文件。
iOS安全:修改Mach-O
有的时候我们希望干预Xcode生成Mach-O的过程,在签名之前在Mach-O中插入自定义的segment和section数据。修改Mach-O看似简单却不总是那么好用。
iOS安全:LC_LOAD_DYLIB和LC_ID_DYLIB
本文主要从iOS Mach-O的角度讲解了iOS 主App的二进制和动态库的调用关系,涉及到LC_LOAD_DYLIB和LC_ID_DYLIB两种类型Load Command的含义及作用。
iOS Link Map
由Xcode build产生的Link Map文件能比较直观的反映出程序各部分的文件大小情况,对于减少包体积很有帮助。
iOS设备型号对应关系
使用[[UIDevice currentDevice] model]获取到的设备型号是形如iPhone10,6这样的字符串,和iPhone X等通用称呼有一一对应关系。
iOS:IDFV(identifierForVendor)使用陷阱
IDFV(identifierForVendor)在iOS系统中常被用来唯一标识设备,但使用IDFV要小心,未正确理解IDFV的原理可能会造成使用上的错误。
git瘦身:清除大文件或敏感文件记录
使用git进行版本管理的项目随着提交代码次数增多,.git目录会逐渐增大。特别是由于没有及时添加进.gitignore的大文件会显著增加.git的大小。另外,由于一时疏忽而上传的敏感文件,即使从工作目录清除还是能在历史记录中查看到。
如何获取AppStore上的ipa?
之前可以很方便的从iTunes上获取AppStore的ipa包,但现在iTunes已经不再提供ipa的下载入口了,我们可以使用Apple Configurator工具
iOS安全:iOS App注入动态库重打包(非越狱)
从AppStore直接获取的ipa重打包即使成功安装也是无法运行的,砸壳后的ipa如何注入动态库后在非越狱手机上运行?
iOS安全:使用frida-ios-dump砸壳
使用frida-ios-dump工具,部署好环境后,砸壳非常方便,推荐使用。
iOS安全:使用dumpdecrypted/Clutch 砸壳
之前都是使用Clutch砸壳,今天在分析一问题时,发现Clutch砸壳失败,于是寻找其他的砸壳工具,选择了dumpdecrypted。这里简单记录下方便后续查询。
统计iOS 8.0及之后所有正式版版本号
iOS的版本号是非常有规律的:一般来说包含一个纯数字的主版本号和一个包含数字字母的build版本号。而大多数情况下beta版等非正式版本的build版本号在最后一位是小写字母。
IntelliJ IDEA:parsing java
使用IntelliJ IDEA编译一maven工程,一直提示parsing java...。更换JDK版本即可解决问题。
用这款App你可以把iPhone当做U盘使用
移动时代了,如果你还有使用U盘的习惯,那么从现在开始,抛弃它,试试这款安全文件夹App,相信会让你满意。
perl: warning: Setting locale failed.
perl: warning: Setting locale failed. 原因是本地化语言配置缺失,需要安装,比如zh_CN.UTF-8。
inode用尽导致磁盘空间不足
在linux系统中,每个文件都会对应一个inode结构,标识了文件的索引信息。当存储有大量小文件时,就可能存在文件系统容量有剩余,但inode用完的情况。此时,解决办法就是删除文件释放inode个数。
写公众号的同学,你也许需要这款支持Markdown的博客
如果你需要在写作后跟进查阅,沉淀思想,你会需要一个独立博客系统。WordPress博客系统太过复杂,看川强烈推荐正在使用的gitblog博客系统。
简单的反爬虫手段
恶意的爬虫会抓取服务器资源,甚至阻塞正常的访问,这里简述了几个反爬虫的常用技术点。
Yii2 项目安装及升级
Yii Framework 是使用广泛的高性能 PHP Web 框架,易于上手,功能丰富。以 yii2-app-advanced 模板为例演示项目的部署及升级方法。
回乡闲记
2019年了,还有很多行业里的很多人抱残守缺,不思进取,必将被时代洪流淘汰...这类的例子之前有,现在有,将来还会有。
iOS framework UnitTest:Failed to load test bundle
iOS UnitTest:Failed to load test bundle from file...no suitable image found
gcc function __attribute__
attribute可以设置函数/变量属性。总结常用的gcc Attribute syntax,已备用查询。
github access tokens
github开启Two-factor authentication之后,需要使用Personal access tokens访问。
iOS:清除Xcode缓存
随着使用时间的增长,Xcode占用的磁盘空间将越来越大。你可以通过删除下面的目录来释放空间。
utf8mb4:MYSQL中使用Emoji
如果你打算在 MYSQL 中存储 Emoji 字符,那么你应该选择 utf8mb4 字符集。
macOS升级PHP7及Apache错误排查笔记
我本机的PHP是5.5版本,考虑到项目并没有低版本依赖,且PHP最新的版本已经到7.3了,就尝试做了PHP的版本升级。
C库中strlen的源码实现
简单介绍了strlen的改进实现和系统库的实现。
URL Decode中对于+号的处理
如果你的产品包含iOS Android App以及后台服务,你很可能遇到一个加号 decode 后的问题。
