diff --git a/lib/html_sanitizer.rb b/lib/html_sanitizer.rb index 10db5316e..21d38b72b 100644 --- a/lib/html_sanitizer.rb +++ b/lib/html_sanitizer.rb @@ -50,7 +50,7 @@ satinize html string based on whiltelist # prepare src attribute if node['src'] src = cleanup_target(node['src']) - if src =~ /(javascript|livescript|vbscript):/i || src.start_with?('http', 'ftp', '//') + if src =~ /(javascript|livescript|vbscript):/i || src.downcase.start_with?('http', 'ftp', '//') node.remove Loofah::Scrubber::STOP end @@ -137,7 +137,7 @@ satinize html string based on whiltelist # prepare links if node['href'] href = cleanup_target(node['href']) - next if !href.start_with?('http', 'ftp', '//') + next if !href.downcase.start_with?('http', 'ftp', '//') node.set_attribute('href', href) node.set_attribute('rel', 'nofollow') node.set_attribute('target', '_blank') @@ -338,7 +338,7 @@ cleanup html string: end def self.cleanup_target(string) - URI.unescape(string).downcase.gsub(/[[:space:]]|\t|\n|\r/, '').gsub(%r{/\*.*?\*/}, '').gsub(//, '').gsub(/\[.+?\]/, '') + URI.unescape(string).gsub(/[[:space:]]|\t|\n|\r/, '').gsub(%r{/\*.*?\*/}, '').gsub(//, '').gsub(/\[.+?\]/, '') end def self.url_same?(url_new, url_old) diff --git a/test/unit/aaa_string_test.rb b/test/unit/aaa_string_test.rb index c303f5b65..08c4f2aa4 100644 --- a/test/unit/aaa_string_test.rb +++ b/test/unit/aaa_string_test.rb @@ -539,6 +539,10 @@ Men-----------------------' result = 'http://example.com?a=1;' assert_equal(result, html.html2html_strict) + html = 'http://example.com/withSoMeUpper/And/downCase' + result = 'http://example.com/withSoMeUpper/And/downCase' + assert_equal(result, html.html2html_strict) + html = 'web.de' result = 'web.de' assert_equal(result, html.html2html_strict) @@ -796,7 +800,7 @@ christian.schaefer@example.com'
T: +49 (0) 12345/1234560-0
F: +49 (0) 12345/1234560-2
annad@example.com
- +Geschäftsführer Vor Nach, VorUndZu Nach - Amtsgericht Dort HRB 12345 - Ein Unternehmer der ABC Gruppe
' diff --git a/test/unit/email_parser_test.rb b/test/unit/email_parser_test.rb index 9eab1da9f..0eb47b64e 100644 --- a/test/unit/email_parser_test.rb +++ b/test/unit/email_parser_test.rb @@ -65,7 +65,7 @@ Old programmers never die. They just branch to a new address. }, { data: IO.binread('test/fixtures/mail3.box'), - body_md5: '56d5b0bc7444bd2ab38b28d3b07b48a7', + body_md5: 'a6a96cc1deaba0c4a068ea39c7a3e7b8', params: { from: '"Günther John | Example GmbH"Mit freundlichen Grüßen
John Günther
-
example.com (http://www.geofachdatenserver.de) – profitieren Sie vom umfangreichen Daten-Netzwerk
+example.com (http://www.GeoFachDatenServer.de) – profitieren Sie vom umfangreichen Daten-Netzwerk
_ __ ___ ____________________________ ___ __ _
@@ -135,7 +135,7 @@ Old programmers never die. They just branch to a new address.
-Fritz
On May 2, 2012, at 14:25 , John Smith wrote:
Moin Moin,
die Antwort ist zwar etwas spät, aber nach der Schulung war ich krank und danach
hatte ich viel zu tun auf der Arbeit, sodass ich keine Zeit für XXXX hatte.
Ich denke das ist allgemein das Problem, wenn sowas nebenbei gemacht werden muss.
Wie auch immer, danke für die mail mit dem ITSM Zusatz auch wenn das zur Zeit bei der Example nicht relevant ist.
Ich habe im XXXX Wiki den Punkt um die Vorlagen angefügt.
Ticket Template von John Bäcker
Bei uns habe ich das Ticket Template von John Bäcker in der Version 0.1.96 unter XXXX 3.0.10 implementiert.
Fritz wollte sich auch um das andere Ticket Template Modul kümmern und uns zur Verfügung stellen, welches unter XXXX 3.0 nicht lauffähig sein sollte.
Im Wiki kann ich die LDAP Muster Konfigdatei nicht finden.
Hat die jemand von euch zufälligerweise ?
Danke und Gruß
John Smith
Am 4. April 2012 08:24 schrieb Smith, John Marian <john.smith@example.com>:
Hallo zusammen,
ich hoffe Ihr seid noch gut nach Hause gekommen am Mittwoch. Der XXX Kurs Donnerstag und Freitag war noch ganz gut, wobei ich mir den letzten halben Tag eigentlich hätte schenken können.
Soweit ich weiß arbeitet Ihr nicht mit XXX? Falls doch habe ich hier eine tolle (eigentlich) kostenpflichtige Erweiterung für Euch.
Es handelt sich um eine programmiertes Paket von der XXXX AG. Die Weitergabe ist legal.
Mit dem Paket kann man Anhänge an CI’s (Configuration Items) verknüpfen. Das ist sehr praktisch wenn man zum Beispiel Rechnungen an Server, Computern und und und anhängen möchte.
Der Dank geht an Frank Linden, der uns das Paket kostenlos zur Verfügung gestellt hat.
Viele Grüße aus Someware
John
_________________________
SysAdmin
John Marian Smith
IT-Management
Example GmbH & Co. KG
Der Provider für
Mehrwertdienste & YYY
Someware 23
XXXXX Someware
Tel. (01802) XX XX XX - 42
Fax (01802) XX XX XX - 99
nur 6 Cent je Anruf aus dem dt. Festnetz,
max. 42 Cent pro Min. aus dem Mobilfunknetz
E-Mail john.smith@example.de
Web www.Example.de
Amtsgericht Hannover HRA xxxxxxxx
Komplementärin: Example Verwaltungs- GmbH
Vertreten durch: Somebody, Somebody
Amtsgericht Someware HRB XXX XXX
_________________________
Highlights der Example Contact Center-Suite:
Virtual XXX&Power-XXX, Self-Services&XXX-Portale,
XXX-/Web-Kundenbefragungen, CRM, PEP, YYY
Moin Moin,
die Antwort ist zwar etwas spät, aber nach der Schulung war ich krank und danach
hatte ich viel zu tun auf der Arbeit, sodass ich keine Zeit für XXXX hatte.
Ich denke das ist allgemein das Problem, wenn sowas nebenbei gemacht werden muss.
Wie auch immer, danke für die mail mit dem ITSM Zusatz auch wenn das zur Zeit bei der Example nicht relevant ist.
Ich habe im XXXX Wiki den Punkt um die Vorlagen angefügt.
Ticket Template von John Bäcker
Bei uns habe ich das Ticket Template von John Bäcker in der Version 0.1.96 unter XXXX 3.0.10 implementiert.
Fritz wollte sich auch um das andere Ticket Template Modul kümmern und uns zur Verfügung stellen, welches unter XXXX 3.0 nicht lauffähig sein sollte.
Im Wiki kann ich die LDAP Muster Konfigdatei nicht finden.
Hat die jemand von euch zufälligerweise ?
Danke und Gruß
John Smith
Am 4. April 2012 08:24 schrieb Smith, John Marian <john.smith@example.com>:
Hallo zusammen,
ich hoffe Ihr seid noch gut nach Hause gekommen am Mittwoch. Der XXX Kurs Donnerstag und Freitag war noch ganz gut, wobei ich mir den letzten halben Tag eigentlich hätte schenken können.
Soweit ich weiß arbeitet Ihr nicht mit XXX? Falls doch habe ich hier eine tolle (eigentlich) kostenpflichtige Erweiterung für Euch.
Es handelt sich um eine programmiertes Paket von der XXXX AG. Die Weitergabe ist legal.
Mit dem Paket kann man Anhänge an CI’s (Configuration Items) verknüpfen. Das ist sehr praktisch wenn man zum Beispiel Rechnungen an Server, Computern und und und anhängen möchte.
Der Dank geht an Frank Linden, der uns das Paket kostenlos zur Verfügung gestellt hat.
Viele Grüße aus Someware
John
_________________________
SysAdmin
John Marian Smith
IT-Management
Example GmbH & Co. KG
Der Provider für
Mehrwertdienste & YYY
Someware 23
XXXXX Someware
Tel. (01802) XX XX XX - 42
Fax (01802) XX XX XX - 99
nur 6 Cent je Anruf aus dem dt. Festnetz,
max. 42 Cent pro Min. aus dem Mobilfunknetz
E-Mail john.smith@Example.de
Web www.Example.de
Amtsgericht Hannover HRA xxxxxxxx
Komplementärin: Example Verwaltungs- GmbH
Vertreten durch: Somebody, Somebody
Amtsgericht Someware HRB XXX XXX
_________________________
Highlights der Example Contact Center-Suite:
Virtual XXX&Power-XXX, Self-Services&XXX-Portale,
XXX-/Web-Kundenbefragungen, CRM, PEP, YYY
this is a test
this is a test
We want to keep you updated on TeamViewer licensing shortages on a regular basis.
We would like to inform you that since the last message on 25-Nov-2014 there have been temporary session channel exceedances which make it impossible to establish more sessions. Since the last e-mail this has occurred in a total of 1 cases.
Additional session channels can be added at any time. Please visit ourTeamViewer Online Shop (https://www.teamviewer.com/en/licensing/update.aspx?channel=d842cs9bf85-p1009645n-348785e76e) for pricing information.
Thank you - and again all the best with TeamViewer!
Best regards,
Your TeamViewer Team
P.S.: You receive this e-mail because you are listed in our database as person who ordered a TeamViewer license. Please clickhere (http://www.teamviewer.com/en/company/unsubscribe.aspx?id=1009645&ident=e37682eac65e8ca6ff36074907d8bc14) to unsubscribe from further e-mails.
-----------------------------We want to keep you updated on TeamViewer licensing shortages on a regular basis.
We would like to inform you that since the last message on 25-Nov-2014 there have been temporary session channel exceedances which make it impossible to establish more sessions. Since the last e-mail this has occurred in a total of 1 cases.
Additional session channels can be added at any time. Please visit ourTeamViewer Online Shop (https://www.teamviewer.com/en/licensing/update.aspx?channel=D842CS9BF85-P1009645N-348785E76E) for pricing information.
Thank you - and again all the best with TeamViewer!
Best regards,
Your TeamViewer Team
P.S.: You receive this e-mail because you are listed in our database as person who ordered a TeamViewer license. Please clickhere (http://www.teamviewer.com/en/company/unsubscribe.aspx?id=1009645&ident=E37682EAC65E8CA6FF36074907D8BC14) to unsubscribe from further e-mails.
-----------------------------Geben Sie diese Information an den Direktor oder den für Marketing und Umsatzsteigerung verantwortlichen Mitarbeiter Ihrer Firma weiter!
Hallo,
Geben Sie diese Information an den Direktor oder den für Marketing und Umsatzsteigerung verantwortlichen Mitarbeiter Ihrer Firma weiter!
Hallo,
Bei uns können Sie mit nur wenigen Clicks Geschäftskontakte verschiedener Länder erwerben.
Dies ist eineschnelle und bequeme Methode, um Daten zu einem vernünftigen Preis zu erhalten.
Alle Daten werdenständig aktualisiertm so dass Sie sich keine Sorgen machen müssen.
XLS-Muster herunterladen - (http://business-catalogs.example.com/odtpbgs5mwizbjuyyzexlta4yy06mmg7n3avl3r0lnnzdxjobgzzzwvsdgetlm10cmvzb2yvy2vtl2xpz25pywlnav9hbc9zog1loxgyotdzzw1hl2vll2xwzwxhehb4q18ubxhzfehsodh8y2m=)
Datenbank bestellen - (http://business-catalogs.example.com/odtpbgs5mwizbjuyyzexlta4yy06mmg7n3avl3r0bmfvy3b0lxlhbw9sc2nhb3nnyy5ll3rpbxjlzi9lbs9ycnjuawfpzxmsdgxnawvplguzzhx4bnxlzwy=)
Die Anmeldung ist absolut kostenlos und unverbindlich. Sie können die Kataloge gemäß Ihren eigenen Kriterien filtern und ein kostenloses Datenmuster bestellen, sobald Sie sich angemeldet haben.
Wir haben Datenbanken der folgenden Länder:
Anwendungsmöglichkeiten für Geschäftskontakte
Bei uns können Sie mit nur wenigen Clicks Geschäftskontakte verschiedener Länder erwerben.
Dies ist eineschnelle und bequeme Methode, um Daten zu einem vernünftigen Preis zu erhalten.
Alle Daten werdenständig aktualisiertm so dass Sie sich keine Sorgen machen müssen.
XLS-Muster herunterladen + (http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0LnNzdXJobGZzZWVsdGEtLm10cmVzb2YvY2VtL2xpZ25pYWlnaV9hbC9zOG1lOXgyOTdzZW1hL2VlL2xwZWxheHB4Q18ubXhzfEhsODh8Y2M=)
Datenbank bestellen + (http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0bmFvY3B0LXlhbW9sc2Nhb3NnYy5lL3RpbXJlZi9lbS9ycnJuaWFpZXMsdGxnaWVpLGUzZHx4bnxlZWY=)
Die Anmeldung ist absolut kostenlos und unverbindlich. Sie können die Kataloge gemäß Ihren eigenen Kriterien filtern und ein kostenloses Datenmuster bestellen, sobald Sie sich angemeldet haben.
Wir haben Datenbanken der folgenden Länder:
Anwendungsmöglichkeiten für Geschäftskontakte
Sie könnenAbschnitte wählen (filtern) Empfänger gemäß Tätigkeitsbereichen und Standort der Firmen, um die Effizienz Ihrer Werbemaßnahmen zu erhöhen.
Für jeden Kauf von2016-11-05 23:59:59
wir gewähren30% Rabatt
RABATTCODE: WZ2124DD
Bestellen Sie online bei:
company-catalogs.com (http://business-catalogs.example.com/odtpbgs5mwizbjuyyzexlta4yy06mmg7n3avl3r0bmfvy3b0lxlhbw9sc2nhb3nnyy5ll3rpbxjlzi9lbs9ycnjuawfpzxmsdgxnawvplguzzhx4bnxlzwy=)
Für weitere Informationen:
E-Mail:databases.en@example.com
Telefon: +370-52-071554 (languages: EN, PL, RU, LT)
Sie könnenAbschnitte wählen (filtern) Empfänger gemäß Tätigkeitsbereichen und Standort der Firmen, um die Effizienz Ihrer Werbemaßnahmen zu erhöhen.
Für jeden Kauf von2016-11-05 23:59:59
wir gewähren30% Rabatt
RABATTCODE: WZ2124DD
Bestellen Sie online bei:
company-catalogs.com (http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0bmFvY3B0LXlhbW9sc2Nhb3NnYy5lL3RpbXJlZi9lbS9ycnJuaWFpZXMsdGxnaWVpLGUzZHx4bnxlZWY=)
Für weitere Informationen:
E-Mail:databases.en@example.com
Telefon: +370-52-071554 (languages: EN, PL, RU, LT)