468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
|
style_header("Robot Defense Settings");
db_begin_transaction();
@ <p>A Fossil website can have billions of pages in its tree, even for a
@ modest project. Many of those pages (examples: diffs and tarballs)
@ might be expensive to compute. A robot that tries to walk the entire
@ website can present a crippling CPU and bandwidth load.
@
@ <p>The settings on this page are intended to help site administrators
@ defend the site against robots.
@
@ <form action="%R/setup_robot" method="post"><div>
login_insert_csrf_secret();
@ <input type="submit" name="submit" value="Apply Changes"></p>
@ <hr>
@ <p><b>Do not allow robots access to these pages.</b><br>
@ If the page name matches the GLOB pattern of this setting, and the
@ users is "nobody", and the client has not previously passed a captcha
@ test to show that it is not a robot, then the page is not displayed.
@ A captcha test is is rendered instead.
@ The recommended value for this setting is:
@ <p>
@    <tt>%h(robot_restrict_default())</tt>
@ <p>
@ The "diff" tag covers all diffing pages such as /vdiff, /fdiff, and
@ /vpatch. The "annotate" tag covers /annotate and also /blame and
@ /praise. The "zip" covers itself and also /tarball and /sqlar. If a
@ tag has an "X" character appended, then it only applies if query
@ parameters are such that the page is particularly difficult to compute.
@ In all other case, the tag should exactly match the page name.
@
@ To disable robot restrictions, change this setting to "off".
@ (Property: robot-restrict)
@ <br>
textarea_attribute("", 2, 80,
"robot-restrict", "rbrestrict", robot_restrict_default(), 0);
@ <hr>
@ <p><b>Exceptions to anti-robot restrictions</b><br>
@ The entry below is a list of
@ <a href="%R/re_rules">regular expressions</a>, one per line.
@ If any of these regular expressions match the input URL, then the
@ request is exempt from anti-robot defenses. Use this, for example,
@ to allow scripts to download release tarballs using a pattern
@ like:</p>
@ <p>
@   <tt>^/tarball/(version-[0-9.]+|release)/</tt>
@ <p>The pattern should match against the REQUEST_URI with the
@ SCRIPT_NAME prefix removed, and with QUERY_STRING appended following
@ a "?" if QUERY_STRING exists. (Property: robot-exception)<br>
textarea_attribute("", 3, 80,
"robot-exception", "rbexcept", "", 0);
@ <hr>
addAutoHyperlinkSettings();
@ <hr>
entry_attribute("Anonymous Login Validity", 11, "anon-cookie-lifespan",
"anoncookls", "840", 0);
@ <p>The number of minutes for which an anonymous login cookie is valid.
|
|
|
|
|
>
>
>
>
>
>
|
|
>
>
>
>
>
>
|
>
>
|
<
|
<
<
<
<
|
<
|
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
|
style_header("Robot Defense Settings");
db_begin_transaction();
@ <p>A Fossil website can have billions of pages in its tree, even for a
@ modest project. Many of those pages (examples: diffs and tarballs)
@ might be expensive to compute. A robot that tries to walk the entire
@ website can present a crippling CPU and bandwidth load.
@
@ <p>The settings on this page are intended to help administrators
@ defend against abusive robots.
@
@ <form action="%R/setup_robot" method="post"><div>
login_insert_csrf_secret();
@ <input type="submit" name="submit" value="Apply Changes"></p>
@ <hr>
@ <p><b>Do not allow robots access to these pages.</b><br>
@ If the page name matches the GLOB pattern of this setting, and the
@ users is "nobody", and the client has not previously passed a captcha
@ test to show that it is not a robot, then the page is not displayed.
@ A captcha test is is rendered instead.
@ The default value for this setting is:
@ <p>
@    <tt>%h(robot_restrict_default())</tt>
@ <p>
@ The "diff" tag covers all diffing pages such as /vdiff, /fdiff, and
@ /vpatch. The "annotate" tag covers /annotate and also /blame and
@ /praise. The "zip" covers itself and also /tarball and /sqlar. If a
@ tag has an "X" character appended, then it only applies if query
@ parameters are such that the page is expensive and/or unusual.
@ In all other case, the tag should exactly match the page name.
@
@ To disable robot restrictions, change this setting to "off".
@ (Property: robot-restrict)
@ <br>
textarea_attribute("", 2, 80,
"robot-restrict", "rbrestrict", robot_restrict_default(), 0);
@ <p><b>Exception #1</b><br>
@ If "zipX" appears in the robot-restrict list above, then tarballs,
@ ZIP-archives, and SQL-archives may be downloaded by robots if
@ the check-in is a leaf (robot-zip-leaf):<br>
onoff_attribute("Allow tarballs for leaf check-ins",
"robot-zip-leaf", "rzleaf", 0, 0);
@ <p><b>Exception #2</b><br>
@ If "zipX" appears in the robot-restrict list above, then tarballs,
@ ZIP-archives, and SQL-archives may be downloaded by robots if
@ the check-in has one or more tags that match the following
@ list of GLOB patterns: (robot-zip-tag)<br>
textarea_attribute("", 2, 80,
"robot-zip-tag", "rztag", "", 0);
@ <p><b>Exception #3</b><br>
@ If the request URI matches any of the following
@ <a href="%R/re_rules">regular expressions</a> (one per line), then the
@ request is exempt from anti-robot defenses.
@ The regular expression is matched against the REQUEST_URI with the
@ SCRIPT_NAME prefix removed, and with QUERY_STRING appended following
@ a "?" if QUERY_STRING exists. (Property: robot-exception)<br>
textarea_attribute("", 3, 80,
"robot-exception", "rbexcept", "", 0);
@ <hr>
addAutoHyperlinkSettings();
@ <hr>
entry_attribute("Anonymous Login Validity", 11, "anon-cookie-lifespan",
"anoncookls", "840", 0);
@ <p>The number of minutes for which an anonymous login cookie is valid.
|