- 博客(143)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注

原创 警惕: Python 中的路径穿越
os 和 pathlib 都是 Python 内置的模块,可以很方便的帮助我们完成路径的拼接而无需担心不同系统下的路径格式问题,但却存在一个严重的安全风险:路径穿越
2021-12-21 18:36:50
4308
3

原创 加密算法(一):30行代码破解凯撒加密
以时间划分,1976年以前的密码算法都属于 **古典密码学**,古典密码学现在已经很少采用了,然而,研究古典密码的原理对于理解构造和分析现代密码都是十分有益的。凯撒密码(Caesar cipher)是最经典的**替代法**,据传由古罗马帝国的皇帝凯撒所发明,用在与远方将领的通讯上,每个字母被往后位移三格字母所替代
2020-12-26 19:05:53
8623
30

原创 反反爬虫(0) :还在用 selenium 裸爬吗? 你已经被盯上了!破解WebDriver反爬虫
使用 Selenium 调用 ChromeSriver 来打开网页,还是与正常打开网页有一定的区别的。现在很多网站都加上了对 Selenium 的检测,来防止一些爬虫的恶意爬取。大多数情况下,检测的基本原理是检测当前浏览器窗口下的 `window.navigator` 对象是否包含 `webdriver` 这个属性。
2020-11-29 16:37:27
32742
28

原创 发布你自己的轮子 - PyPI打包上传实践
正所谓 "*人生苦短,我用Python*",Python 的一大优势就是有着丰富且易用的第三方模块。无论你做什么,几乎都能找到扩展包达到你的目的。而这一切,都是完全开源免费的!既然 Python 的核心是第三方扩展包,那么你想不想自己写一个并发布呢?无论是将自己的优秀项目开源出来,还是写一些可以经常复用的小工具,都是一件很棒的事情
2020-11-19 22:44:35
11103
4

原创 pip freeze 导出含有路径 (@ file:///) 问题小记
在 conda 沙箱环境中使用 pip freeze > requirements.txt 命令导出已安装的模块,其中部分模块显示了 `@ file:///...`,而不是具体的版本号
2020-11-01 21:47:14
26984
12
原创 Python中内存文件模拟路径传参——以OpenAI Files接口为例
在 Python 中调用第三方库时, 部分库接口要求我们传递一个文件路径, 然而我们的文件在内存中
2025-03-27 13:40:17
219
原创 【已解决】pyodbc 5.2 [ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
当升级 pyodbc 5.2 版本后,连接 sqlserver 数据库,提示驱动不存在
2025-03-02 00:03:41
879
原创 [问题解决]: win11家庭版启用组策略gpedit.msc
微软提供了一个有用的工具,名为组策略编辑器。它可以通过更改注册表的方式来方便地启用或禁用操作系统中某个元素的某个功能,但是以用户友好的方式。组策略编辑器可以视作一种更改注册表的安全的方式,它虽然不支持你更改注册表中的所有内容,但是允许你更改几乎注册表中所有可以更改的内容。然而组策略编辑器只在专业版和企业版 Windows 11 系统中默认可用,家庭版系统的用户是无法打开组策略编辑器的.
2025-01-06 10:24:43
1341
原创 问题解决: python 调用存储过程获取不到返回值
在 SQL Server 中,INSERT、UPDATE 或 OUTPUT 语句可能会生成隐式的中间结果集。确保存储过程中只返回最终的结果集。
2024-12-19 17:12:27
315
原创 python3.13 安装 pyodbc 报错 g++‘ failed with exit code 1
【代码】python3.13 安装 pyodbc 报错 g++‘ failed with exit code 1。
2024-11-12 15:08:04
433
原创 .wslconfig:6 中的未知密钥 ‘boot.systemd‘ 问题解决
我的环境部分博客通过修改 windows上.wslconfig, 添加如下配置 来启动 systemd。
2024-11-11 12:04:47
1033
原创 奇思妙想:超链接唤起本地应用
很多人的博客都有这样的小玩意,点击之后就可以直接与博主进行对话,而且无需添加好友。怎么把QQ 跑起来呢,需要我们自己去启动一个线程吗?答案是否定的,Windows 操作系统考虑到了这一点,允许我们为自己的应用程序注册一个协议
2023-03-04 00:17:38
982
原创 奇思妙想:QQ临时对话有效性检测
碰到一个需求,检测一批网页上一批 QQ 临时对话是否正常工作。正常情况下,点击 QQ交谈 之后便会唤起用户电脑上的 QQ 应用,并打开临时对话窗口,随着腾讯企点的上线,普通 QQ 基本无法再使用该功能,点击便会遇到如下情况,或者提示 加好友后才能开始聊天。
2023-03-03 22:34:07
1225
原创 Pandas to_sql 函数避坑指南「mssql字符乱码」
使用 pandas to_sql 方法导出数据到 SQL Server 2016,发现一些特殊符号存在乱码
2022-11-09 16:54:26
1894
原创 反反爬虫(2) :关于CSS字体加密,你了解多少?
CSS 字体反爬对于一个 爬虫er 来说应该是家常便饭了,其实现原理也很简单:@font-face:CSS3 中新功能,允许网页开发者为其网页指定在线字体。原本是用来消除对用户电脑字体的依赖,但也有新作用:反爬虫。......
2022-07-09 17:19:48
2842
2
原创 图灵奖级别的设计:计算机中的浮点数
C 语言中,不同数据类型存储格式不同:小数在内存中是以 浮点数 的形式存储的,浮点数和定点数中的 点 指的就是小数点。在六七十年代,计算机界对浮点数的处理比较混乱,各家厂商都有自己的一套规则,缺少统一的业界标准,这个数据交换,计算机协同带来了很大不便。作为处理器行业老大,Intel 早就意识到了这个问题,并打算统一浮点数的世界,其聘请加州大学伯克利分校的 William Kahan 教授以及他的伙伴们来设计浮点数格式。他们的工作完成的如此出色,设计的浮点数具有足够的合理性和先进性,被 IEEE 组织采用为浮
2022-06-02 15:40:46
549
原创 天才般的设计:整数在内存中是如何存储的
文章目录c语言中的整数整型的长度正负数整数如何存储的补码如何简化运算取值范围溢出类型转换转换规则类型转换导致的奇怪结果自动类型转换整型提升c语言中的整数整数是编程中常用的一种数据类型,C 语言使用 int 定义整数。int 一般占用 4 个字节「Byte」,一共 32 bit。如果不考虑符号位:00000000 00000000 00000000 00000000 : 最小值,数字 011111111 11111111 11111111 11111111 : 最大值,232−12^{32}-12
2022-05-27 18:53:12
2369
1
原创 速看:CryptoJS.base64 的不同之处,别再死扣源码了「附正确实现」
当我们在逆向分析 JS 代码时,常见的一个库就是 `CryptoJS`,它实现了众多算法,可以很方便的对数据进行编码,加密。但是它的 Base64 却与正常的 Base64 有一些不同,本文以一个实际案例,以做说明
2022-05-13 17:23:53
4956
2
原创 Makefile 函数中变量未生效问题小记
文章目录问题原因解决问题遇到了一个奇怪的问题,特此记录。变量在 Make 函数中似乎未生效,如下:pwd := $$PWDtest: echo ${subst /,//,${pwd}}结果如下:>>> make testecho $PWD/Users/zzzzls/Deskto可以看到 subst 函数似乎完全没有任何效果!原因感谢 Stack overflow,原文如下:Makefile subst variable not affected?原文
2022-04-26 13:48:15
1621
原创 利用 PHP POST 临时文件机制实现任意文件上传
向 PHP 发送 Post 数据包,如果数据包中包含文件,无论 php 代码中有没有处理文件上传的逻辑,php 都会将这个文件保存为一个临时文件。在文件包含漏洞找不到可以利用的文件时,即可利用这个方法,找到临时文件名,然后包含之!
2022-04-20 16:51:30
7269
1
原创 Pandas to_sql 函数避坑指南「附可运行正确代码」
今天在使用 Pandas 的 to_sql 方法时,遇到一堆问题,一顿搜索后,靠谱的答案少之又少,各种被误导,特此记录
2022-03-31 17:44:18
5754
原创 aiohttp: AttributeError: ‘NoneType‘ object has no attribute ‘get_extra_info‘
aiohttp: AttributeError: 'NoneType' object has no attribute 'get_extra_info'
2022-01-17 17:57:52
1231
原创 两步验证: 使用Python接入Google Authentiator
用户常常会在不同的网站使用相同的密码,一但一个网站账户的密码泄露,就会危及到其它使用相同密码的账户。为了解决这个问题,一些网站在登录时除了要求输入账户密码之外,还需要输入另一个一次性密码。例如银行常用的动态口令卡。
2021-11-16 15:54:10
5542
原创 协程future对象及concurrent.futures
Future 是一种特殊的低层级可等待对象(Task是Future的子类), 表示一个异步操作的最终结果 当一个 Future 对象被等待, 这意味着协程将保持等待直到该 Future 对象在其他地方操作完毕
2021-08-30 23:10:34
3202
原创 异步编程 && 协程asyncio
协程(Coroutine)不是计算机提供,程序员人为创造协程也可以称为微线程, 是一种用户态的上下文切换技术。就是通过一个线程实现代码块相互切换执行
2021-08-30 22:16:26
474
原创 安卓前瞻:ADB(安卓调试桥)基本使用
Android 调试桥(ADB) 是一种功能多样的命令行工具,可与设备进行通信。ADB命令可用于执行各种设备操作(例如:安装和调试应用),并提供对 Unix shell的访问权限。它是一种**客户端-服务器**程序
2021-07-23 11:17:02
544
1
原创 HTTPX: 青出于蓝,比肩requests的新生代网络请求库
作为新生代的网络请求库,HTTPX 不仅支持 requests 的所有操作,同时支持 异步API 及 HTTP/2。根据官网的描述,总结有如下特点:- 标准的同步接口及异步支持- HTTP/1.1 和 HTTP/2- 直接向 WSGI/ASGI 应用程序发出请求- 严格的超时设置- 全类型注释- 100% 测试覆盖率
2021-06-04 13:50:07
840
2
原创 重读Scrapy:Spider篇_CrawlSpider的使用分析
CrawlSpider 是 Spider 的一个子类,最显著的功能就是 `LinkExtractors` 链接提取器,相较于 spider 来说,CrawlSpider 更适用于 需要从内层网页爬取数据的场景例如:在新闻网站中,我们首先需要爬取新闻列表页,获取所有新闻的URL,然后再请求这些URL,获取新闻的详情数据
2021-03-09 09:34:54
496
2
原创 js逆向:无所不能的 hook 钩子函数
Hook 技术又叫做 **钩子函数**,在系统调用一个函数之前,钩子程序就先捕获该消息,得到控制权,这时钩子程序既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把 系统中的程序拉出来按照我们编写的代码逻辑执行
2021-03-07 14:46:00
11208
2
LoveString 字串编码查询器
2019-12-18
Python 下载网络图片 的 问题
2018-12-22
字符串 截取部分内容 , 求提取方案
2018-12-23
Python Requests 保存 Cookie 到本地发生的问题
2018-12-27
小白请教 Python 打包 exe 问题
2018-12-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人