summaryrefslogtreecommitdiff
path: root/htroot
diff options
context:
space:
mode:
authororbiter <orbiter@6c8d7289-2bf4-0310-a012-ef5d649a1542>2008-05-19 23:05:19 +0000
committerorbiter <orbiter@6c8d7289-2bf4-0310-a012-ef5d649a1542>2008-05-19 23:05:19 +0000
commitd9d1c8de705ad2e001a002ff72f2499796ea7b59 (patch)
treed6a51beb074e29cc01a2d1c54c655e8e9cc6ba99 /htroot
parentc1d721dd2d3f58ffbf45fdbf3961646b40237d68 (diff)
more protection against remote shutdown attacks: prevent loading using the crawler
git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@4829 6c8d7289-2bf4-0310-a012-ef5d649a1542
Diffstat (limited to 'htroot')
-rwxr-xr-xhtroot/Collage.java28
1 files changed, 20 insertions, 8 deletions
diff --git a/htroot/Collage.java b/htroot/Collage.java
index 80594db11..15b6f7587 100755
--- a/htroot/Collage.java
+++ b/htroot/Collage.java
@@ -42,8 +42,10 @@ import java.util.Random;
import de.anomic.crawler.ResultImages;
import de.anomic.http.httpHeader;
import de.anomic.plasma.plasmaSwitchboard;
+import de.anomic.server.serverCore;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
+import de.anomic.yacy.yacyURL;
public class Collage {
private static int fifoMax = 20;
@@ -98,20 +100,30 @@ public class Collage {
if (fifoSize > 0) {
prop.put("imgurl", "1");
-
- for (int i = 0; i < fifoSize; i++)
- prop.put("imgurl_list_" + i + "_url",
- "<a href=\"" + origins[i].baseURL.toNormalform(true, false) + "\">"
- + "<img src=\"" + origins[i].imageEntry.url().toNormalform(true, false) + "\" "
+ int c = 0;
+ for (int i = 0; i < fifoSize; i++) {
+
+ yacyURL baseURL = origins[i].baseURL;
+ yacyURL imageURL = origins[i].imageEntry.url();
+
+ // check if this loads a page from localhost, which must be prevented to protect the server
+ // against attacks to the administration interface when localhost access is granted
+ if ((serverCore.isLocalhost(baseURL.getHost()) || serverCore.isLocalhost(imageURL.getHost())) &&
+ sb.getConfigBool("adminAccountForLocalhost", false)) continue;
+
+ prop.put("imgurl_list_" + c + "_url",
+ "<a href=\"" + baseURL.toNormalform(true, false) + "\">"
+ + "<img src=\"" + imageURL.toNormalform(true, false) + "\" "
+ "style=\""
+ ((imgWidth[i] == 0 || imgHeight[i] == 0) ? "" : "width:" + imgWidth[i] + "px;height:" + imgHeight[i] + "px;")
+ "position:absolute;top:" + imgPosY[i]
+ "px;left:" + imgPosX[i]
+ "px;z-index:" + imgZIndex[i] + "\""
- + "title=\"" + origins[i].baseURL.toNormalform(true, false) + "\">"
+ + "title=\"" + baseURL.toNormalform(true, false) + "\">"
+ "</a><br>");
-
- prop.put("imgurl_list", fifoSize);
+ c++;
+ }
+ prop.put("imgurl_list", c);
} else {
prop.put("imgurl", "0");
}