<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	「关于 JavaScript &#8220;工作证明（proof of work） &#8220;防抓取系统的思考」的评论	</title>
	<atom:link href="https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/</link>
	<description>程序员工作、生活、爱情、事业</description>
	<lastBuildDate>Fri, 06 Jun 2025 01:47:30 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.11</generator>
	<item>
		<title>
		评论者：berkes		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63168</link>

		<dc:creator><![CDATA[berkes]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63168</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63167&quot;&gt;OutOfHere&lt;/a&gt;。

&lt;p&gt;我也做过类似尝试。PoC 确实可行，但无状态性确实成为了一大障碍。&lt;/p&gt;&lt;p&gt;它强制要求客户端在每次请求时都执行工作量证明。&lt;/p&gt;&lt;p&gt;我们在PoC中发现的其他困难包括：&lt;/p&gt;&lt;p&gt;并非所有客户端都是平等的：这会让老旧的手机或树莓派比运行在配备GPU的强大服务器上的客户端，或运行在受损硬件上的客户端受到更严厉的惩罚。——即真实用户很可能受到惩罚，而非法用户往往受到的惩罚最轻。&lt;/p&gt;&lt;p&gt;并非所有端点都相同：我们尝试了对POST/PUT/PATCH/DELETE等操作设置更高的难度，而对GET操作则设置较低的难度。同时，我们对不同端点设置了不同的难度级别，试图匹配这些操作对我们而言的成本差异。这需要通过多次往返来交换难度设置。&lt;/p&gt;&lt;p&gt;这会阻碍正确的HATEOAS或REST设计，因为客户端本应通过跟随链接浏览API，却鼓励了“在单次查询中包含尽可能多内容”的调用方式。这削弱了我们的缓存能力、灵活性，并阻碍了良好HTTP实践的运用。&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63167">OutOfHere</a>。</p>
<p>我也做过类似尝试。PoC 确实可行，但无状态性确实成为了一大障碍。</p>
<p>它强制要求客户端在每次请求时都执行工作量证明。</p>
<p>我们在PoC中发现的其他困难包括：</p>
<p>并非所有客户端都是平等的：这会让老旧的手机或树莓派比运行在配备GPU的强大服务器上的客户端，或运行在受损硬件上的客户端受到更严厉的惩罚。——即真实用户很可能受到惩罚，而非法用户往往受到的惩罚最轻。</p>
<p>并非所有端点都相同：我们尝试了对POST/PUT/PATCH/DELETE等操作设置更高的难度，而对GET操作则设置较低的难度。同时，我们对不同端点设置了不同的难度级别，试图匹配这些操作对我们而言的成本差异。这需要通过多次往返来交换难度设置。</p>
<p>这会阻碍正确的HATEOAS或REST设计，因为客户端本应通过跟随链接浏览API，却鼓励了“在单次查询中包含尽可能多内容”的调用方式。这削弱了我们的缓存能力、灵活性，并阻碍了良好HTTP实践的运用。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：nssnsjsjsjs		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63169</link>

		<dc:creator><![CDATA[nssnsjsjsjs]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63169</guid>

					<description><![CDATA[&lt;p&gt;我的小提琴对这个问题微不足道。但它实际上给了我灵感！&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>我的小提琴对这个问题微不足道。但它实际上给了我灵感！</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：account42		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63161</link>

		<dc:creator><![CDATA[account42]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63161</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63160&quot;&gt;foul&lt;/a&gt;。

&lt;p&gt;基于流行的流量峰值通常非常短暂，小型网站无需过多关注。&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63160">foul</a>。</p>
<p>基于流行的流量峰值通常非常短暂，小型网站无需过多关注。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：akomtu		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63170</link>

		<dc:creator><![CDATA[akomtu]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63170</guid>

					<description><![CDATA[&lt;p&gt;这本质上就是DRM：可以观看，但不能复制。只不过在这种情况下，是企业自己在进行盗版。&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>这本质上就是DRM：可以观看，但不能复制。只不过在这种情况下，是企业自己在进行盗版。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：jameslk		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63165</link>

		<dc:creator><![CDATA[jameslk]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63165</guid>

					<description><![CDATA[&lt;p&gt;如果我们将部分网站后端工作负载转移到机器人上， effectively 将其用作去中心化云基础设施，会怎样？Web3，我们已经落后了&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>如果我们将部分网站后端工作负载转移到机器人上， effectively 将其用作去中心化云基础设施，会怎样？Web3，我们已经落后了</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：OutOfHere		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63167</link>

		<dc:creator><![CDATA[OutOfHere]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63167</guid>

					<description><![CDATA[&lt;p&gt;另见 http://www.hashcash.org/，这是一个著名的工作量证明算法。工作量证明的最大好处不是它反大语言模型(LLM)，而是它无状态地反 DoS。&lt;/p&gt;&lt;p&gt;我正在开发一个公共服务，并计划在其中使用一个简单的工作量证明实现，该实现可通过单次调用完成，无需每次请求都与服务器进行往返通信。&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>另见 <a href="http://www.hashcash.org/，这是一个著名的工作量证明算法。工作量证明的最大好处不是它反大语言模型(LLM)，而是它无状态地反" rel="nofollow ugc">http://www.hashcash.org/，这是一个著名的工作量证明算法。工作量证明的最大好处不是它反大语言模型(LLM)，而是它无状态地反</a> DoS。</p>
<p>我正在开发一个公共服务，并计划在其中使用一个简单的工作量证明实现，该实现可通过单次调用完成，无需每次请求都与服务器进行往返通信。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：h1fra		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63166</link>

		<dc:creator><![CDATA[h1fra]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63166</guid>

					<description><![CDATA[&lt;p&gt;大多数爬虫无法监控每个网站的性能，结果就是网站响应速度变慢，仅此而已&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>大多数爬虫无法监控每个网站的性能，结果就是网站响应速度变慢，仅此而已</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：fennecfoxy		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63163</link>

		<dc:creator><![CDATA[fennecfoxy]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63163</guid>

					<description><![CDATA[&lt;p&gt;嗯，这似乎对环境不利。&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>嗯，这似乎对环境不利。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：foul		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63162</link>

		<dc:creator><![CDATA[foul]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63162</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63161&quot;&gt;account42&lt;/a&gt;。

&lt;p&gt;我的例子有些肤浅，但你不应专注于这个用例。小型网站并不总是意味着“可忽略的信息”，而爬虫程序始终在窃取CPU时间。&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63161">account42</a>。</p>
<p>我的例子有些肤浅，但你不应专注于这个用例。小型网站并不总是意味着“可忽略的信息”，而爬虫程序始终在窃取CPU时间。</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		评论者：jchw		</title>
		<link>https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63192</link>

		<dc:creator><![CDATA[jchw]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 01:47:19 +0000</pubDate>
		<guid isPermaLink="false">https://www.aqee.net/?p=10364#comment-63192</guid>

					<description><![CDATA[回复给 &lt;a href=&quot;https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63191&quot;&gt;OutOfHere&lt;/a&gt;。

&lt;p&gt;Zip炸弹会占用一些内存。我对向明确无视“禁止进入”标识的客户端（更具体地说，是故意进入的客户端）提供Zip炸弹没有任何问题。（此外：这本质上是一种蜜罐设置，这种概念并不新鲜；人们也会在SSH和其他场景中使用类似方法。）&lt;/p&gt;]]></description>
			<content:encoded><![CDATA[<p>回复给 <a href="https://www.aqee.net/post/a-thought-on-javascript-proof-of-work-anti-scraper-systems/#comment-63191">OutOfHere</a>。</p>
<p>Zip炸弹会占用一些内存。我对向明确无视“禁止进入”标识的客户端（更具体地说，是故意进入的客户端）提供Zip炸弹没有任何问题。（此外：这本质上是一种蜜罐设置，这种概念并不新鲜；人们也会在SSH和其他场景中使用类似方法。）</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

使用页面缓存Disk: Enhanced 

Served from: www.aqee.net @ 2026-11-01 17:50:02 by W3 Total Cache
-->