-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
97 lines (46 loc) · 19.8 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>PHP+NGINX实现临时文件链接</title>
<link href="/posts/13/"/>
<url>/posts/13/</url>
<content type="html"><![CDATA[<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>使用nginx http_auth_request_module和PHP(也可以使用其他的编程语言,这里以PHP为例)实现临时文件链接示例。原理是使用签名和时间戳。</p><ol><li>文件服务器与API服务器不需要联网</li><li>可以自定义文件到期时间</li><li>算法对服务器CPU占用很低</li><li>非常简单</li><li>安全性取决于你的签名密钥复杂性</li></ol><p>注意:签名密钥泄露将意味着别人可以利用该密钥生成有效的签名从而进行文件访问。如果密钥泄露请及时更换密钥。</p><h1 id="生成临时文件链接"><a href="#生成临时文件链接" class="headerlink" title="生成临时文件链接"></a>生成临时文件链接</h1><p>示例PHP代码</p><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$path</span>=<span class="variable">$_GET</span>[<span class="string">"path"</span>]; <span class="comment">//路径</span></span><br><span class="line"><span class="variable">$t</span>=<span class="title function_ invoke__">strtotime</span>(<span class="string">'+24 hours'</span>); <span class="comment">//链接过期时间</span></span><br><span class="line"><span class="variable">$sign_key</span>=<span class="string">'$2y$10$OG2rNxa/1Hs/a61adREv0.QwcjuPZLr3VoG5o5LxSFAXxmzC5VJ1K'</span>; <span class="comment">//签名密钥</span></span><br><span class="line"><span class="keyword">echo</span> <span class="string">"http://example.com/"</span>.<span class="variable">$path</span>.<span class="string">"?et=<span class="subst">$t</span>&sign="</span>.<span class="title function_ invoke__">hash</span>(<span class="string">"sha256"</span>,<span class="string">"/<span class="subst">$path</span><span class="subst">$t</span><span class="subst">$sign_key</span>"</span>);</span><br></pre></td></tr></table></figure><h1 id="配置文件服务器"><a href="#配置文件服务器" class="headerlink" title="配置文件服务器"></a>配置文件服务器</h1><h2 id="配置nginx-conf"><a href="#配置nginx-conf" class="headerlink" title="配置nginx.conf"></a>配置nginx.conf</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">location / { #需要鉴权的路径</span><br><span class="line"> auth_request /auth;</span><br><span class="line"> location ~ /* {}</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line">location = /auth {</span><br><span class="line"> internal;</span><br><span class="line"> proxy_pass http://localhost/check_token.php; #鉴权服务器地址</span><br><span class="line"> proxy_pass_request_body off;</span><br><span class="line"> proxy_set_header Content-Length "";</span><br><span class="line"> proxy_set_header X-Original-URI $request_uri;</span><br><span class="line">}</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>说明:通过获取请求头<code>X-Original-URI</code>来获取用户访问的链接并根据情况进行允许或拒绝,状态码200为允许,403为拒绝。</p><h2 id="示例-check-token-php-代码"><a href="#示例-check-token-php-代码" class="headerlink" title="示例 check_token.php 代码"></a>示例 check_token.php 代码</h2><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$sign_key</span>=<span class="string">'$2y$10$OG2rNxa/1Hs/a61adREv0.QwcjuPZLr3VoG5o5LxSFAXxmzC5VJ1K'</span>; <span class="comment">//签名密钥</span></span><br><span class="line"><span class="variable">$parsed_url</span> = <span class="title function_ invoke__">parse_url</span>(<span class="variable">$_SERVER</span>[<span class="string">'HTTP_X_ORIGINAL_URI'</span>]); </span><br><span class="line"><span class="title function_ invoke__">parse_str</span>(<span class="variable">$parsed_url</span>[<span class="string">"query"</span>], <span class="variable">$params</span>);</span><br><span class="line"><span class="keyword">if</span>(!(<span class="keyword">isset</span>(<span class="variable">$params</span>[<span class="string">"et"</span>],<span class="variable">$params</span>[<span class="string">"sign"</span>]) && <span class="variable">$params</span>[<span class="string">"et"</span>] && <span class="variable">$params</span>[<span class="string">"sign"</span>] && <span class="variable">$params</span>[<span class="string">"et"</span>] >= <span class="title function_ invoke__">time</span>() && <span class="title function_ invoke__">hash</span>(<span class="string">"sha256"</span>,<span class="variable">$parsed_url</span>[<span class="string">"path"</span>].<span class="variable">$params</span>[<span class="string">"et"</span>].<span class="variable">$sign_key</span>) == <span class="variable">$params</span>[<span class="string">"sign"</span>])){</span><br><span class="line"> <span class="title function_ invoke__">http_response_code</span>(<span class="number">403</span>);</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>因为PHP运行时如果出现错误可能响应200状态码,将会导致http_auth_request_module误认为允许访问。建议在php配置文件中将 <code>display_errors</code> 设置为 <code>Off</code> (推荐)或者在 <code>check_token.php</code> 文件代码前面添加以下代码防止报错响应200状态码。</p><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="title function_ invoke__">error_reporting</span>(E_ALL);</span><br><span class="line"><span class="title function_ invoke__">ini_set</span>(<span class="string">'display_errors'</span>, <span class="number">0</span>);</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">errorHandler</span>(<span class="params"><span class="variable">$errno</span>, <span class="variable">$errstr</span>, <span class="variable">$errfile</span>, <span class="variable">$errline</span></span>) </span>{</span><br><span class="line"> <span class="title function_ invoke__">http_response_code</span>(<span class="number">500</span>);</span><br><span class="line">}</span><br><span class="line"><span class="title function_ invoke__">set_error_handler</span>(<span class="string">"errorHandler"</span>);</span><br></pre></td></tr></table></figure>]]></content>
<categories>
<category> 教程 </category>
</categories>
<tags>
<tag> php </tag>
<tag> nginx </tag>
</tags>
</entry>
<entry>
<title>realme v3 5G 卡刷root教程</title>
<link href="/posts/10/"/>
<url>/posts/10/</url>
<content type="html"><![CDATA[<div class="note warning modern"><p>ROOT后不能写入system分区,如果需要写入system可以试试<a href="https://github.com/HuskyDG/magic_overlayfs">Magisk Overlayfs</a>模块</p></div><h1 id="解锁Bootloader"><a href="#解锁Bootloader" class="headerlink" title="解锁Bootloader"></a>解锁Bootloader</h1><div class="note danger modern"><p>解锁 Bootloader 需要清空手机数据,如果手机有重要数据请先备份!</p></div><p>参考教程:<a href="https://www.realme.com/cn/support/kw/doc/2031665">https://www.realme.com/cn/support/kw/doc/2031665</a></p><ol><li><a href="https://www.realmebbs.com/post-details/1307872237881143296">下载和安装深度测试</a>,打开深度测试,点击<code>申请深度测试</code>,一般等待几分钟后就可以申请通过。 </li><li>审核成功后点击<code>查询审核状态</code> - <code>开始深度测试</code> ,手机会自动重启并进入fastboot模式。<br><img src="/posts/10/1.png"></li><li>使用数据线连接电脑,下载并解压<a href="https://weibo.com/6033736159/JCJ65t1Lw">realme V3的LR.Team定制版twrp</a><br><img src="/posts/10/20230623173710.png"></li><li>打开<code>TWRP-3.4.2B-0128-REALME_V3-CN-wzsx150-fastboot</code>文件夹里的<code>打开CMD命令行.bat</code></li><li>开始解锁:在CMD窗口输入<code>fastboot flashing unlock</code>,手机会询问你是否要解锁 BootLoader ,按音量+键解锁。</li><li>解锁完成后在CMD窗口输入 <code>fastboot reboot</code> 重启设备,重启后按正常流程激活手机。</li></ol><h2 id="解决系统完整性已被破坏的弹窗"><a href="#解决系统完整性已被破坏的弹窗" class="headerlink" title="解决系统完整性已被破坏的弹窗"></a>解决<code>系统完整性已被破坏</code>的弹窗</h2><p>解锁 Bootloader 后,使用电子支付时会提示<code>系统完整性已被破坏</code>弹窗</p><p><img src="/posts/10/BB9B0CA0D122E6CEFC4B790C8566F07F.jpg"></p><p>打开<code>手机管家</code> - <code>支付保护</code> 。将支付保护关闭。</p><p><img src="/posts/10/1.1.png"></p><h1 id="刷入第三方recovery"><a href="#刷入第三方recovery" class="headerlink" title="刷入第三方recovery"></a>刷入第三方recovery</h1><p> 打开 <code>recovery-twrp一键刷入工具.bat</code> ,按照提示操作。刷入成功后会自动重启到recovery。</p><h2 id="关闭avb2-0校验防止开机提示系统损坏"><a href="#关闭avb2-0校验防止开机提示系统损坏" class="headerlink" title="关闭avb2.0校验防止开机提示系统损坏"></a>关闭avb2.0校验防止开机提示系统损坏</h2><p>点击<code>高级</code> - <code>关闭avb2.0校验</code><br><img src="/posts/10/2.1.png"></p><h1 id="ROOT"><a href="#ROOT" class="headerlink" title="ROOT"></a>ROOT</h1><p>在TWRP里点击 <code>高级</code> - <code>ROOT系统</code>,ROOT后重启设备,就会看到桌面上有一个<code>Magisk Manager</code>,版本比较低,自己更新到最新版。<br><img src="/posts/10/3.png"></p><h2 id="隐藏ROOT"><a href="#隐藏ROOT" class="headerlink" title="隐藏ROOT"></a>隐藏ROOT</h2><p>部分软件不允许设备在已ROOT的环境下运行,这时候就要隐藏ROOT</p><p><img src="/posts/10/4E69253C3E9948F5CCF33B5F553DFE78.jpg"></p><ol><li>下载<a href="https://github.com/LSPosed/LSPosed.github.io/releases">shamiko</a>模块</li><li>安装<code>shamiko</code>模块:打开<code>Magisk</code> - <code>模块</code> - <code>从本地安装</code> ,选择<code>shamiko</code>模块的压缩包,返回<code>Magisk</code>首页 ,点击右上角<code>设置</code> ,开启 <code>Zygisk</code> ,重启。</li><li>在<code>Magisk</code>的<code>配置排除列表</code>勾选需要隐藏ROOT的应用。</li></ol><p>这种方法只能绕过一部分ROOT检测软件,有的软件不会单纯的去检测设备是否ROOT,而是会通过各种手段去判断你是否已经ROOT。</p>]]></content>
<categories>
<category> 教程 </category>
</categories>
</entry>
<entry>
<title>QQ空间修改相册权限提示“说说日志仅自己可见,不支持修改权限权限哦”解决方法</title>
<link href="/posts/9/"/>
<url>/posts/9/</url>
<content type="html"><我在网上寻找了很多方法都没成功把相册权限设为公开,尝试很多次也没能成功就没理会了,今天无意间回想起这件事,又在WEB端设置权限,结果提示“抱歉,当前使用相册服务的用户过多,请您稍后再试。”> 如果你不想看我的故事可以直接看红色字刚开始我以为是相册内某些照片被设置成私密导致的,于是我把所有照片移动到新相册,还是设置不了权限,但是新相册可以。又试了好多次也没能修改权限就打算放弃了,想着旧相册先留着,新相册先用着。回想起QQ空间可以恢复相册,于是就想<font color="red">把不能改权限的相册删了,再去回收站恢复回来,可能就能改权限了,但是也有可能恢复不了了。</font>结果恢复时提示“抱歉,当前使用相册服务的用户过多,请您稍后再试。”我还以为恢复不了了,想着恢复不了也不亏,我已经把不能改权限的相册内的所有照片移动到新相册了,如果恢复不了就用新相册。之后又换了手机QQ试着能不能恢复,然后就恢复成功了,又试了一下能不能改权限,发现可以修改权限,又把新相册里的所有照片移动回旧相册。为什么不直接使用新相册呢?因为旧相册有创建时间。有什么用呢?~~没用(bushi~~ 。<font color="red">操作需谨慎,删了的东西回收站不一定能恢复。</font> -->]]></content>
<categories>
<category> 教程 </category>
</categories>
</entry>
<entry>
<title>突破问卷星限制</title>
<link href="/posts/1/"/>
<url>/posts/1/</url>
<content type="html">< 或-->点击 `扩展程序图标` 再点击 `⋮` 再点击 `选项`<p> <img src="/posts/1/a.png"></p></li><li><p>添加一个微信的UA</p></li></ol><p><img src="/posts/1/b.png"></p><p>根据表格填(填完后点击 Add 添加)</p><table><thead><tr><th>标题</th><th>填写的内容</th><th>说明</th></tr></thead><tbody><tr><td>New User-agent name</td><td>wechat</td><td>UA名字</td></tr><tr><td>New User-Agent String</td><td>Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63070517)</td><td>Windows版微信UA</td></tr><tr><td>Group</td><td>Chrome</td><td>组</td></tr><tr><td>Append?</td><td>Replace</td><td>(默认)</td></tr><tr><td>Indicator Flag</td><td>WIN</td><td>(随便填)</td></tr></tbody></table><h2 id="使用"><a href="#使用" class="headerlink" title="使用"></a>使用</h2><p>修改成微信UA:打开 <code>User-Agent Switcher</code> 插件,点击 <code>chrome</code> , 再点击 <code>Wechat</code><br>修改回默认UA:打开 <code>User-Agent Switcher</code> 插件,点击 <code>chrome</code> , 再点击 <code>Default</code></p><p>User-Agent Switcher 会把所有页面的UA都修改掉,每次修改UA会自动刷新当前页面。如果需边作答边浏览其他网页使用微信UA打开部分网页可能会受到一些限制(如网站不允许使用微信打开),建议使用无痕模式或其他浏览器浏览其他网页。</p><h1 id="在浏览器中使用微信登录作答"><a href="#在浏览器中使用微信登录作答" class="headerlink" title="在浏览器中使用微信登录作答"></a>在浏览器中使用微信登录作答</h1><ol><li><p><a href="#%E4%BD%BF%E7%94%A8">把UA修改成微信UA</a></p></li><li><p>从微信打开问卷星链接</p></li><li><p>点击一键登录,再复制链接到浏览器打开<br> <img src="/posts/1/c.png"><br> 注意:一定要在微信授权登录页面复制链接<br> <img src="/posts/1/c2.png"><br> <img src="/posts/1/1.PNG"></p></li><li><p>把复制的链接粘贴到chrome浏览器中打开(不是近期登录需要点击“同意”按钮才能登录,近期登录过会自动登录)<br><img src="/posts/1/c3.png"></p></li></ol><h1 id="复制粘贴限制"><a href="#复制粘贴限制" class="headerlink" title="复制粘贴限制"></a>复制粘贴限制</h1><p>使用 <a href="https://chrome.google.com/webstore/detail/copy-paste-pro/epgndihjbcepnbadocaoofjnfaophlio">Copy Paste Pro</a> 插件,可以解决网页不给复制粘贴问题。Copy Paste Pro 是可以让你在禁止复制粘贴的网站使用复制粘贴功能,可以隋开随关,无需刷新页面。建议当需要使用复制粘贴再开启功能,开启后会导致网页部分不能正常点击。</p><p>使用:点击图标后就开启和关闭,绿色勾开启,灰色勾关闭(只能在当前页面生效,当刷新或跳转其他页面后会自动关闭)</p><p>我并不是很推荐使用这个插件,我在使用时遇到了一些问题,我关了还能复制部分文字,不过我觉得问题不大。</p><h1 id="设备限制"><a href="#设备限制" class="headerlink" title="设备限制"></a>设备限制</h1><p>通常情况下,清除cookie可以绕过设备限制。</p><h1 id="更多"><a href="#更多" class="headerlink" title="更多"></a>更多</h1><p>使用<a href="https://www.tampermonkey.net/">油猴</a>脚本可以帮助你突破更多的限制和更快的完成问卷。</p>]]></content>
<categories>
<category> 教程 </category>
</categories>
<tags>
<tag> 突破限制 </tag>
</tags>
</entry>
</search>