| | @@ -88,19 +88,19 @@ |
| 88 | 88 | from a human or a robot. |
| 89 | 89 | |
| 90 | 90 | The [/help/auto-hyperlink|auto-hyperlink] setting, shown as |
| 91 | 91 | "<b>Enable hyperlinks based on User-Agent and/or Javascript</b>" on |
| 92 | 92 | the Robot Defense Settings page, |
| 93 | | -can be set to "UserAgent only" or "UserAgent and Javascript" or "off". |
| 93 | +can be set to "HTTP Header Only" or "HTTP Header and Javascript" or "off". |
| 94 | 94 | If the UserAgent string looks like a human and not a robot, then |
| 95 | 95 | Fossil will enable hyperlinks even if the <b>Hyperlink</b> capability |
| 96 | 96 | is omitted from the user permissions. This setting gives humans easy |
| 97 | 97 | access to the hyperlinks while preventing robots |
| 98 | 98 | from walking the billions of pages on a typical Fossil site. |
| 99 | 99 | |
| 100 | | -If the setting is "UserAgent only" (2), then the hyperlinks are simply |
| 101 | | -enabled and that is all. But if the setting is "UserAgent and Javascript" (1), |
| 100 | +If the setting is "HTTP Header Only" (2), then the hyperlinks are simply |
| 101 | +enabled and that is all. But if the setting is "HTTP Header and Javascript" (1), |
| 102 | 102 | then the hyperlinks are not enabled directly. |
| 103 | 103 | Instead, the HTML code that is generated contains anchor tags ("<a>") |
| 104 | 104 | with "href=" attributes that point to [/honeypot] rather than the correct |
| 105 | 105 | link. JavaScript code is added to the end of the page that goes back and |
| 106 | 106 | fills in the correct "href=" attributes of |
| | @@ -109,13 +109,17 @@ |
| 109 | 109 | is a security measure against robots that forge a human-looking |
| 110 | 110 | UserAgent string. Most robots do not bother to run JavaScript and |
| 111 | 111 | so to the robot the empty anchor tag will be useless. But all modern |
| 112 | 112 | web browsers implement JavaScript, so hyperlinks will show up |
| 113 | 113 | normally for human users. |
| 114 | +(UPDATE 2026-08-06: The previous two sentences |
| 115 | +were true when this document was first written in 2013, but they are |
| 116 | +not true any more. Most robots these days have normal-looking UserAgent |
| 117 | +strings and do run Javascript.) |
| 114 | 118 | |
| 115 | 119 | If the [/help/auto-hyperlink|"auto-hyperlink"] setting is (2) |
| 116 | | -"<b>Enable hyperlinks using User-Agent and/or Javascript</b>", |
| 120 | +"<b>Enable hyperlinks using HTTP-Header and/or Javascript</b>", |
| 117 | 121 | then there are now two additional sub-settings that control when |
| 118 | 122 | hyperlinks are enabled. |
| 119 | 123 | |
| 120 | 124 | The first new sub-setting is a delay (in milliseconds) before setting |
| 121 | 125 | the "href=" attributes on anchor tags. The default value for this |
| | @@ -149,10 +153,19 @@ |
| 149 | 153 | HTTP request is coming from a human, then any attempt to access one of |
| 150 | 154 | these pages brings up a javascript-powered captcha. The user has to |
| 151 | 155 | click the accept button the captcha once, and that sets a cookie allowing |
| 152 | 156 | the user to continue surfing without interruption for 15 minutes or so |
| 153 | 157 | before being presented with another captcha. |
| 158 | + |
| 159 | +To disable this feature (not recommended for public-facing websites) |
| 160 | +change this setting to "off". If robots become particularly troublesome, |
| 161 | +change this setting to "*" (the GLOB wildcard) which restricts robots |
| 162 | +from accessing any page of the Fossil webpage other than "/login". |
| 163 | +Robots have gotten so bad lately (as of 2026) that the use of "*" is |
| 164 | +advisable for any public-facing website that is running on a low-power |
| 165 | +platform such as a RaspberryPI or a $6/month VPS, or any platform with |
| 166 | +limited bandwidth. |
| 154 | 167 | |
| 155 | 168 | Some path elements have special meanings: |
| 156 | 169 | |
| 157 | 170 | * <b>timelineX →</b> |
| 158 | 171 | This means a subset of /timeline/ pages that are considered |
| | @@ -192,11 +205,11 @@ |
| 192 | 205 | This also matches /blame/ and /praise/. |
| 193 | 206 | |
| 194 | 207 | Other special keywords may be added in the future. |
| 195 | 208 | |
| 196 | 209 | The default [/help/robot-restrict|robot-restrict] |
| 197 | | -setting has been shown in practice to do a good job of keeping |
| 210 | +setting has been shown (circa 2026) to do a reasonable job of keeping |
| 198 | 211 | robots from consuming all available CPU and bandwidth while will |
| 199 | 212 | still allowing humans access to the full power of the site without |
| 200 | 213 | having to be logged in. |
| 201 | 214 | |
| 202 | 215 | One possible enhancement is to add "zipX" to the |
| | @@ -251,13 +264,13 @@ |
| 251 | 264 | <h2>The Ongoing Struggle</h2> |
| 252 | 265 | |
| 253 | 266 | Fossil currently does a good job of providing easy access to humans |
| 254 | 267 | while keeping out troublesome robots. However, robots |
| 255 | 268 | continue to grow more sophisticated, requiring ever more advanced |
| 256 | | -defenses. This "arms race" is unlikely to ever end. The developers of |
| 269 | +defenses. This "arms race" is unlikely to end. The developers of |
| 257 | 270 | Fossil will continue to try improve the robot defenses of Fossil so |
| 258 | 271 | check back from time to time for the latest releases and updates. |
| 259 | 272 | |
| 260 | 273 | Readers of this page who have suggestions on how to improve the robot |
| 261 | 274 | defenses in Fossil are invited to submit your ideas to the Fossil Users |
| 262 | 275 | forum: |
| 263 | 276 | [https://fossil-scm.org/forum]. |
| 264 | 277 | |