Zum Inhalt springen

Browserweiche (JavaScript) soll raus

Erstellt am 4. Mai 2004 · 22 Antworten · letzte Antwort am 29. Januar 2008 · Seite 1 von 2

Tags: Frage

dfluess ·

hast Du nun schon inzwischen eine Möglichkeit gefunden um die Browserweiche raus zu schmeissen???
Manche SpamFilter markieren Emails, sobald Javascript enthalten ist.

Unbekannter Benutzer ·

die Extension Source-Optimization (sourceopt) schmeißt das Blur-Script raus sowie sämtliche blur()-Befehle - jedoch zu lasten der Performance, da der Parsevorgang der das Rausfiltert kurz vor der Ausgabe zum Browser zu erfolgen scheint - was auch logisch ist, da ja nicht jede Extension gecached wird und somit sichergestellt wird dass wirklich alles raußen ist.

Ich suche derzeit nach einer Lösung wie ich das Spam-Protection-Script rauswerfen kann um es Auszulagern - mein RexExp hat auch immer das Script für mein GMenü mit gekilled (steht direkt über dem anderen Script) und preg_replace die Anweisung nicht richtig auszuführen scheint (es verwendet nicht wie im RegExp definiert die nahest liegensten <script>-Tags). Hat denn hierzu jemand ne Lösung?
Ich weiß auch wo es steht ($GLOBALS['TSFE']->additionalJavaScript['UnCryptMailto()']= Script...) aber ich hab kA wie ich das z.B. über TS rausschmeißen könnte - Hardcoden möchte ich nicht, oder gibt es keine andere Lösung?

maxhb ·
FXK schrieb

Ich weiß auch wo es steht ($GLOBALS['TSFE']->additionalJavaScript['UnCryptMailto()']= Script...) aber ich hab kA wie ich das z.B. über TS rausschmeißen könnte - Hardcoden möchte ich nicht, oder gibt es keine andere Lösung?

Wird denn dieses JS immer eingebunden? Ich meine nicht, das dürfte nur im Quelltext auftauchen, wenn Du den Spamschutz von Typo3 aktiviert hast...

CU
maxhb

Oliver Thiele ·

Eine Möglichkeit wäre es, mit

config.disableAllHeaderCode = 1

alle Headerzeilen zu löschen und dann den Head-Bereich mit

headerData.10 = TEXT 
headerData.10.value (
...
)

neu zu schreiben.

Unbekannter Benutzer ·
maxhb schrieb

Wird denn dieses JS immer eingebunden? Ich meine nicht, das dürfte nur im Quelltext auftauchen, wenn Du den Spamschutz von Typo3 aktiviert hast...

Ja, stimmt schon - aber ich hab den Spamschutz aktiv - und somit ist es auf jeder Seite. Und eine Begrenzung auf ein paar relevante Seiten möchte ich nicht, da ich ja nicht sichertstellen kann dass die BE-User nicht auch wo anders Mailadressen reinschreiben.

@Oliver
hmm, dann wird jedoch das benötigte Script für das GMenü mit den einzelnen Temporären Rolloverbildern auch mit gekillt und ich hab keine Ahnung wie ich die Dateinamen der entsprechenden Rolloverbilder herausfinden kann. Werde mich wohl damit abfinden.
Oder weiß zufällig jemand wie ich meiner RegExp beibringen kann dass kein weiterer Script-Tag enthalten sein darf? Ich weiß nur wie ich einzelne Zeichen verbieten kann - wenn ich jedoch "<" verbiete funktioniert es nicht mehr, da nach den script-Tags ja nochmal Kommentare kommen (CDATA...).
JavaScript (das obere soll erhalten bleiben - flieg aber auch mit 🙁 )

<script type="text/javascript">
	/*<![CDATA[*/
<!--
if (version == "n3") {
img13_5acb_0_n=new Image(); img13_5acb_0_n.src = "typo3temp/m_d509a3c541.png"; 
img13_5acb_0_h=new Image(); img13_5acb_0_h.src = "typo3temp/m_d50b66da36.png"; 
img10_5acb_1_n=new Image(); img10_5acb_1_n.src = "typo3temp/m_801829a2c2.png"; 
img10_5acb_1_h=new Image(); img10_5acb_1_h.src = "typo3temp/m_5eba56a818.png"; 
img9_5acb_2_n=new Image(); img9_5acb_2_n.src = "typo3temp/m_1a14350cc1.png"; 
img9_5acb_2_h=new Image(); img9_5acb_2_h.src = "typo3temp/m_35eb974cba.png"; 
img7_5acb_3_n=new Image(); img7_5acb_3_n.src = "typo3temp/m_16ed6bf2f8.png"; 
img7_5acb_3_h=new Image(); img7_5acb_3_h.src = "typo3temp/m_5f2aa1f063.png"; 
img6_5acb_4_n=new Image(); img6_5acb_4_n.src = "typo3temp/m_c97695bb8d.png"; 
img6_5acb_4_h=new Image(); img6_5acb_4_h.src = "typo3temp/m_322afea9d0.png"; 
img5_5acb_5_n=new Image(); img5_5acb_5_n.src = "typo3temp/m_7df178dade.png"; 
img5_5acb_5_h=new Image(); img5_5acb_5_h.src = "typo3temp/m_aaa93a4183.png"; 
img18_d7c2_0_n=new Image(); img18_d7c2_0_n.src = "typo3temp/m_cd21b73cc0.png"; 
img18_d7c2_0_h=new Image(); img18_d7c2_0_h.src = "typo3temp/m_2341a766a2.png";
}
// -->
	/*]]>*/
</script>

<script type="text/javascript">
	/*<![CDATA[*/
<!--

  // JS function for uncrypting spam-protected emails:
function UnCryptMailto(s) {	//
	var n=0;
	var r="";
	for(var i=0; i < s.length; i++) {
		n=s.charCodeAt(i);
		if (n>=8364) {n = 128;}
		r += String.fromCharCode(n-(2));
	}
	return r;
}
  // JS function for uncrypting spam-protected emails:
function linkTo_UnCryptMailto(s)	{	//
	location.href=UnCryptMailto(s);
}
		
		// JS function for mouse-over
	function over(name,imgObj)	{	//
		if (version == "n3" && document[name]) {document[name].src = eval(name+"_h.src");}
		else if (imgObj)	{imgObj.src = eval(name+"_h.src");}
	}
		// JS function for mouse-out
	function out(name,imgObj)	{	//
		if (version == "n3" && document[name]) {document[name].src = eval(name+"_n.src");}
		else if (imgObj)	{imgObj.src = eval(name+"_n.src");}
	}

// -->
	/*]]>*/
</script>

Parse-Script

function removeUncryptScript ()
{
	#$pattern = '/function UnCrypt.+}/is';
	$pattern = "/<script (type="text/javascript"|language="javascript")>.+?CDATA.+?spam.+function UnCryptMail.+linkTo.+?</script>/is";
	$this->content = preg_replace ($pattern, "", $this->content);
}

der auskommentierte Pattern würde ja funktionieren (wenn auch noch zu ungedau definiert), allerdings bleibt dann der ganze "<script>" und Kommentar-Wust drum herum erhalten.[/quote]

dfluess ·
Oliver Thiele schrieb

Eine Möglichkeit wäre es, mit

config.disableAllHeaderCode = 1

alle Headerzeilen zu löschen und dann den Head-Bereich mit

headerData.10 = TEXT 
headerData.10.value (
...
)

neu zu schreiben.

Hab ich gleich probiert und prompt alles aus dem Header war weg.. nur..

Neuschreiben hilft nicht. Habe im gleichem, TS-Setup den gewünschten Code neu geschrieben aber der Header bleibt leer..

Ideen?

dfluess ·

Ja natürlich.. 🙂 der "Schalter entfernt den Header aber permanent und lässt auch neue Einträge mit "headerData" nicht zu!

Ich habe mir aber damit geholfen, dass - weil ja der Header vollständig einschließlich der HTML-Tags html, head, title weg ist - diese Tags mit

page.10 = TEXT
page.10.value = <html><head> ...
...

ganz neu zu schreiben. Das hat dann funktioniert..

dfluess ·

schön, das es doch diesen Schalter gibt :-)

Bei meiner Lösung wird nun aber gleich noch etwas mehr aus dem Header entfernt, sodass die Mail dadurch ein wenig kleiner wird ;-)

Unbekannter Benutzer ·

also in meiner Online-TSref hab ich das nicht gefunden. Entfernt bei mir auch nur die blur-Funktion - nicht aber sämtliche blur()-Anweisungen in den Tags und auch nicht das Spam-Protect-Script 🙁

edit:
mist, die Sourceoptimization funktioniert nicht mit "realURL" 🙁 Dann bleibt das Zeug einfach drin basta 😡

chukks ·

Moin Moin,
hat keiner das Problem schon gelöst??

Ich habe

config.removeDefaultJS = 1

in mein Setup verwendet, schmeisst tatsächlich sämtliches schnikschnak raus.
Aber bei jedem Link bleibt der aufruf drin :

onfocus="blurLink(this);

, was natürlich ein Fehler auf Browser Seite verursacht...

Wie kann man diesen Funktionaufruf entfernen??

Danke für eure Hilfe.

Gruß

webautor ·

Das "onfocus="blurLink(this)" muss bei der Definition des Menüs mit ...noBlur = 1 deaktiviert werden.

z.B.:
temp.menu = HMENU
temp.menu.1 = TMENU
temp.menu.1 {
noBlur = 1
...

Gruß Peter

jonas8 ·

hallo zusammen
weiss auch jemand wie man den:

onfocus="blurLink(this);

bei der Sitemap rausnimmt?
Gruss Jonas

jonas8 ·

Habs gefunden
Um onfocus="blurLink(this); bei der Sitemap auch rauszunehmen hab ich:

	tt_content.menu.20.2 {
		1.noBlur = 1
		2.noBlur = 1
		3.noBlur = 1
		4.noBlur = 1
		}

Gruss Jonas

Mike® ·
webautor schrieb

Das "onfocus="blurLink(this)" muss bei der Definition des Menüs mit ...noBlur = 1 deaktiviert werden.

z.B.:
temp.menu = HMENU
temp.menu.1 = TMENU
temp.menu.1 {
noBlur = 1
...

Gruß Peter

Ich versteh die Syntax nicht ganz, wie muss ich das lösen: http://phpfi.com/88567
unterhalb von "1 = TMENU" noblur=1 hinzufügen?

Edit: Ich hab das jetzt anders gelöst, indem ich den Mist in class.tslib_menu.php auskommentiert habe.
Man fragt sich, wes Geistes Kind man sein muss, um sowas direkt in ein System hineinzuprogrammieren. Wenn jemand diese dumme Spielerei benötigt, sollte er sich das als Extension installieren können.

elv1s ·

Hallo,

hat jemanden schon ´ne Lösung für dieses Problem.

// JS function for mouse-over

und

// JS function for uncrypting spam-protected emails:

wie kann man dies auslagern?

ps. für was ist diese "// JS function for mouse-over" Funktion eigentlich uberhaupt???:o

Gruss
Kasper

bessel ·

Ich weiß, kein aktuelles Thema... aber wer sich fragt wie man die Browserweiche raus bekommt:

config.removeDefaultJS = 1