pdf viewer in mvc 4 : Paste image into pdf acrobat SDK application service wpf html asp.net dnn Stuermer106-part1570

5.DerWebApplicationService
54
Filtern von CSS-Eingaben. Ein weiterer Punkt sind CSS-Eingaben.
WennderBenutzer– wie am Beispiel desCMS– CSS-Styleseditierenund
inderDatenbankspeichernkann, müssendiesenatürlichebenfallsaufAn-
griffsversuche überprüft werden. Auch hier gibt es fertige Tools wie z.B.
CSSTidy
10
,welchedieFilterungvonCSSübernehmenundnurmehrvalides
CSSübriglassen(vgl.[9]).
Vermeiden von eval(). Wird JSON als Kommunikationsformateinge-
setzt,soll die VerwendungderJavaScript-Funktioneval() vermiedenwer-
den. Gelingt es einem Angreifer Daten einzuschleusen, die innerhalb einer
eval()-Funktionausgeführt werden, kommtdieseinem XSS-Angriff gleich
undstelltsomiteine GefahrfürdenBenutzerunddie gesamteApplikation
dar[9].Esempfiehltsich,einenJSONParser–z.B.vonjson.org
11
–zuver-
wenden.DieserunterziehtdasObjektvorderInterpretationnocheinerge-
nauenÜberprüfungundübergibtnurvalidesJSONandieeval()-Funktion.
Cross-SiteRequest Forgery
Im Gegensatz zu AngriffenmitXSS wird bei einemAngriff mitCross-Site
RequestForgery(XSRF oderCSRF)nichtschadhafterCodeindieAnwen-
dung eingeschleust, sondern es wird die Webapplikation selbst über einen
berechtigten Benutzerangegriffen. Hierbei werden vorhandene Funktionen
einerApplikation überdenAccountdesOpfersausgeführt, wobeimeistdie
Daten derURL-Parametermanipuliertwerden. Eskönnte z.B. eine Über-
weisungmitderURL
1
http://www.bank.de/transfer.php?amount=100&account=12345
erfolgen.WenndasOpfernundieSessionaufderSeitederBanknichtbeen-
detundeineandere Seitebesucht,dievomAngreiferdahingehendmanipu-
liertwurde, dassz.B.alsBild dieURLzurÜberweisung mitmanipulierten
URL-Parameterngeladenwird,wirddieÜberweisungdurchgeführtunddem
AngreiferdasGeldüberwiesen(vgl.[9,19]).
Damit solche Angriffe möglich sind, wird CSRF meist in Kombination
mit anderen Attacken wie z.B. XSS eingesetzt. Zum Schutz vorAngriffen
dieserArtsollten einerseits die bei XSS erwähnten Sicherheitsmaßnahmen
eingeleitetwerdenundzusätzlichdiefolgendenAbsicherungenvorgenommen
werden.
DatenmitderHTTP-MethodePOST übertragen. DamitdieMög-
lichkeiterstgarnichtbesteht,URL-Parameterzu manipulieren,wie esbei
10
http://csstidy.sourceforge.net/
11
http://www.json.org
Paste image into pdf acrobat - copy, paste, cut PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed tutorial for copying, pasting, and cutting image in PDF page using C# class code
how to cut image from pdf; paste image in pdf preview
Paste image into pdf acrobat - VB.NET PDF copy, paste image library: copy, paste, cut PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Tutorial for How to Cut or Copy an Image from One Page and Paste to Another
paste image on pdf preview; paste image into pdf in preview
5.DerWebApplicationService
55
CSRF derFall ist, werdensämtliche Daten inderSchnittstellen-Datei,so-
wieauchamApplication-ServerausschließlichperPOST-Requestangenom-
men.BeiderÜbergabevonURL-ParameternviaGET-Methodewerdendie-
senichterkanntundeswirdkeineFunktionausgeführt.
Domain überprüfen. DamitAjax-Requestsnichtvon jedem beliebigen
Clientabgesetztwerdenkönnen,solltedieDomain,vonwelcherderRequest
stammt,überprüftwerden.SobestehtdieMöglichkeit,Anfragenvonfremden
odernichtregistriertenDomainsnichtzuzulassenundeinfachzublockieren.
Wirdz.B. dieBank-URLvoneinerfremdenDomainperXMLHttpRequest
aufgerufen,wirddieserRequestnichtangenommen.
5.6.2 Sonstige Sicherheitsmaßnahmen
EsgibtnocheineReihevonSicherheitsmaßnahmen,die zusätzlichdurchge-
führt werden können um nicht autorisierten Benutzernden Zugriff zu ver-
weigernunddieDatenmöglichstgutzuschützen.ImFolgendensindeinige
Vorgehensweisenbeschrieben,dienichtberechtigteBenutzervondenDaten
undderApplikationfernhaltensollen.
Vergabeeines API-Keys
Um die volle Funktionalität der Anwendung ausschöpfen zu können, muss
sich der Benutzererst mit seiner Domain registrieren und erhältfürdiese
einen API-Key, mitdem der Zugriff aufdie Applikation gewährtwird,wie
es beispielsweise auch bei Google Maps und Facebook der Fall ist. Diese
ZugangsdatenwerdenineinerDatenbankaufdemApplication-Serverabge-
speichert.
Überprüfung der Domain
Die Domain wirdclientseitig mittelsJavaScriptermitteltund auch server-
seitig auf dem Customer-Server überprüft. Nur wenn die beiden Domains
auchmitderaufdemApplication-Servergespeichertenübereinstimmenund
derAPI-Keystimmt,werdenRequestsamApplication-undamCustomer-
Serverakzeptiert.
Um zu verhindern, dass die Schnittstellen-Datei von einer unbekann-
tenQuelleaufgerufenwird,werdennurRequestseinerbestimmtenDomain
–die des Application-Servers – zugelassen. Die Request-Domain kann aus
dem HTTP Request-Header aus der Eigenschaft Referer ausgelesen wer-
den.StimmtdieDomainnichtmitderdesApplication-Serversüberein,wird
derRequestnichtbearbeitet.DieReferer-EigenschaftdesHTTP-Headersist
jedochnicht100%igzuverlässig,daderAbsenderdesRequestsdie Header-
Daten manipulieren kann. Darum bietet es sich an, direktdie IP-Adresse,
C# PDF Converter Library SDK to convert PDF to other file formats
This tutorial page offers you a piece of C# demo code for PDF to TIFF image conversion. You may directly copy and paste it into your C# testing project.
how to copy pdf image; preview paste image into pdf
C# Word - Word Conversion in C#.NET
This tutorial page offers you a piece of C# demo code for Word to TIFF image conversion. You may directly copy and paste it into your C# testing project.
how to copy pdf image into word; how to paste a picture into pdf
5.DerWebApplicationService
56
vonderderRequeststammt, zu überprüfen und Requests nurzuzulassen,
wenndie IP-AdresseauchmitjenerdesApplication-Serversübereinstimmt.
Verstecken derSchnittstelle
AnstattdenPfadfürdieSchnittstellen-DateiimclientseitigenJavaScriptzu
definieren,istessinnvollerdenPfadamApplication-ServerbeiderRegistrie-
runganzugeben.SokanndieSchnittstellen-DateiamServerbesserversteckt
werdenbzw.wirdderPfadnichtschonimclientseitigenCodeveröffentlicht.
Authentifizierung über HTTP
BeiderAuthentifizierung überHTTPwerdenBenutzernameundPasswort
überdenHTTP-Headerübertragen.DiesstellteineMöglichkeitdar,wiebe-
stimmteScripte–indiesemFalldieSchnittstellen-DateiaufdemCustomer-
Server–vornichtauthentifiziertenBenutzerngeschütztwerdenkönnen.Re-
cherchenindieseRichtunghabenjedochergeben,dassdiesnichtsehrsinnvoll
ist,wennessichnichtwirklichumeinesichereVerbindunghandelt,dadiese
Datensehreinfachausgelesenundmanipuliertwerdenkönnen(vgl.[9]).
Einsatz von SSLundHTTPS
BeiderKommunikationüberdenApplication-ServergibtesdieMöglichkeit
einesichereVerbindungüberSSLzumCustomer-Serveraufzubauen,wasbei
einer direkten Kommunikation mit dem Customer-Server über Ajax nicht
so einfachist,da jederClient ein dementsprechendesZertifikatinstallieren
müsste.BeimEinsatzvonSSLüberHTTPS(HTTPSecure)sindebenfalls
KonfigurationenamWebservernotwendig,sowieeinZertifikat,welchesvom
BesitzerdesCustomer-ServersodervoneineroffiziellenZertifizierungsstelle
erstelltundanschließendsigniertwerdenmuss.
Login undSession im CMS
ErstnachgültigemLoginindasCMS-Backendunterz.B./admin/index.php
wirddieJavaScript-FunktionfürdieInitialisierungdesCMSaufgerufen.Das
bedeutet,dassdieLogin-DatendesBenutzersfürdasCMSinderDatenbank
auf demCustomer-Servergespeichertseinmüssen.WeiterswirdbeiderIn-
itialisierungdesCMSeine Sessionauf demApplication-Servergestartet,in
derDomainundAPI-Keygespeichertwerden.DaaufdemCustomer-Server
nur zustandslose Datenabfragen erfolgen, wird hier keine Session benötigt
undsomitauchkeine erstellt.
C# Windows Viewer - Image and Document Conversion & Rendering in
without using other external third-party dependencies like Adobe Acrobat. Image and Document Conversion Supported by Windows Viewer. Convert to PDF.
how to copy images from pdf file; copying a pdf image to word
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
This tutorial page offers you a piece of C# demo code for PowerPoint to TIFF image conversion. You may directly copy and paste it into your C# testing
copy image from pdf acrobat; how to copy an image from a pdf in preview
5.DerWebApplicationService
57
5.7 Quellcode codieren
Speziell bei Quellcode, welcher in Klartext zum Browser übertragen wird,
istdasKomprimierenundVerschleierndesCodesbesonderswichtig,damit
einerseitsdieLadezeitenverkürztwerdenundandererseitsdieBenutzerden
Codenichtmehrsoeinfachlesenkönnen.DaderCodezurGänzezumClient
übertragenwird, isteseinLeichtesdiesen zukopieren undJavaScriptund
CSSfüreigeneProjektezuverwenden.DasgrößereProblemistjedochhier-
bei,dasseinBenutzer,derohneSchwierigkeitendiegesamteFunktionalität
ausdemCodelesenkann,dieApplikationeinfachmanipulierenoderhacken
kann.
5.7.1 JavaScript und CSS komprimieren
Codekomprimierung ist ein wichtiger Punkt, der nicht außer Acht gelas-
sen werdensollte. Eine große Rolle spielen hierbei natürlicheine geringere
Datenübertragung,schnelleresLadenam Clientunddie damitverbundene
Performancesteigerung dergesamtenApplikation. Ein wesentliches Kriteri-
um ist allerdings auch die optische Verschleierung des Quellcodes, damit
diesernichtaufwandsloslesbarist.DietypischeVorgehensweiseistin[33,S.
605]beschrieben:
• EntfernenallerKommentare.
• UmbenennenvonVariableninunsinnigeWorteoderBuchstabenkom-
binationen.
• EntfernenallerEinrückungenundLeerzeilen,damitderCodeunlesbar
wird.
• VermeidenvonZeilenumbrüchen,sodassdergesamteCode innurwe-
nigenZeilenPlatz findet.
• AufteilendesCodesinunterschiedlicheJavaScript-Dateien
• Hinzufügen von unsinnigenFunktionen undVariablen,die nicht ver-
wendetwerden,aberähnlichheißenwietatsächlichverwendete Varia-
blenundFunktionen.
5.7.2 JavaScript verschlüsseln
Obwohl derCode nachderKomprimierung nichtmehrgutlesbarist,kann
mit ein bisschen Zeitaufwand der Originalcode trotzdem gut rekonstruiert
und nachvollzogen werden. Darum bietet es sich an, den JavaScript-Code
zusätzlichzu verschlüsseln, um das Lesen und Verstehen fürden Benutzer
nochschwierigerzugestalten.
Esgibtviele unterschiedliche Möglichkeiten Code zuverschlüsseln(vgl.
[34,Kap.28]).DiewichtigstenVerfahrenwerdenhierkurzbeschriebenund
mitdembeispielhaftenJavaScriptausProgramm5.1getestet.
C# Excel - Excel Conversion & Rendering in C#.NET
This tutorial page offers you a piece of C# demo code for Excel to TIFF image conversion. You may directly copy and paste it into your C# testing project.
paste jpg into pdf preview; how to copy and paste an image from a pdf
5.DerWebApplicationService
58
Programm5.1:JavaScript-CodevorderVerschlüsselung.
1
<script type="text/javascript">
2
3
/∗FunctionFoo∗/
4
function foo(param){
5
var myString = "Hello " + param;
6
7
//alertifStringisnotempty
8
if (param != "") {
9
alert(myString);
10
}
11
}
12
13
</script>
Escape-Methode
Bei der Escape-Methode wird der Quellcode mit der JavaScript-Funktion
escape()verschlüsselt.HierbeiwerdensämtlicheSonderzeichen(>,:,&,{,
},...)einesStringsdurchderenUnicode-Zeichenfolgeersetzt[34].Beispiels-
weise wirdaus
1
\&= \%\&!§\%<>
dieZeichenkette
1
\%26\%3D\%20\%25\%26\%21\%A7\%25\%3C\%3E
Die Vorgehensweise ist nun jene, dass am Server das gesamte Script mit
escape()verschlüsselt–wieinProgramm5.2ersichtlich–undsozumClient
gesendet wird, wo das ursprüngliche Script mit der unescape()-Methode
wieder hergestellt und mittels der eval()-Methode wieder als JavaScript
erkanntwird,wieinProgramm5.3dargestellt.
DerVorteildieserMethodeist,dassderBenutzerimBrowserdasScript
nichtimKlartextsehenkann,wobeieinerfahrenerProgrammiererdieVer-
schlüsselungsmethode soforterkenntund den Originalcode mitwenig Auf-
wandwiederherstellenkann.
Zeichenkette-Methode
EinweitererAnsatzbestehtdarin,denCodezuverschleiern,indemeinVer-
schlüsselungsalgorithmus angewandtwird,derjedes Zeichen miteinembe-
stimmtenanderenZeichenvertauscht(vgl.[33]).DiegenaueFunktionsweise
fürdieCodierung aufderServerseiteistinProgramm5.4unddieDekodie-
rungfürdieClientseiteinProgramm5.5dargestellt(vgl.[34]).DerNachteil
beidieserMethode ist, dassfürdie Dekodierung des Scriptesein Schlüssel
5.DerWebApplicationService
59
Programm5.2:VerschlüsselungdesScriptesmitderEscape-Methode.
1
<script type="text/javascript">
2
3
//scriptStringstandsforthetestingJavaScriptfunction
4
var escapeString = escape(scriptString);
5
6
//escapeString:
7
//function%20foo%28param%29%7B%20%0A%09var%20myString%20%3D
8
//%20%27Hello%20%27%20+%20param%3B%20%0A%0A%09//alert%20
9
//if%20String%20is%20not%20empty%20%0A%09if%28param%20%21
10
//%3D%20%27%27%29%7B%20%0A%09%09alert%28myString%29%3B
11
//%20%0A%09%7D%20%0A%7D
12
13
<script>
Programm 5.3: Wiederverwendung eines Escape-Scriptes. Die Funktion
foowirdausgeführtundzeigteinalert-FenstermitdemText„HelloWorld!“.
1
<script type="text/javascript">
2
3
var unescapeString = unescape(escapeString);
4
eval(unescapeString);
5
foo("World!");
6
7
</script>
benötigt wird, damit dieses richtig aufgelöst werden kann. Und jeder, der
denSchlüsselkennt,kannauchdenursprünglichenQuelltextrekonstruieren.
Eine sehr bekannte Ver- und Entschlüsselungsmethode ist das Base64-
Verfahren
12
,welchesähnlichfunktioniertwiedieZeichenkette-Methode.Hier
werden die Buchstaben mit Hilfe des Zeichensatzes so verdreht, dass ein
neuer,unleserlicherStringentsteht.
Listevon Funktionen- und Variablennamen
BeidieserMethode werden Listen von Methoden-und Variablennamener-
stellt, die beim Verschlüsselungsverfahren durch einfache Buchstaben oder
kurzesinnloseBuchstabenkombinationenersetztwerden.Diese Methode ist
sehr interessantund wird daherauch oftverwendet, z.B.von Google oder
jQuery.DieVorteileliegeneinerseitsdarin,dassausdemBuchstabengewirr
nichtvielentziffertwerden kannund andererseitsdarin,dassderCode zu-
sätzlichkomprimiertwird,indemdieFunktions-undVariablennamensokurz
wiemöglichgehaltenwerden.
12
http://tools.ietf.org/html/rfc3548
5.DerWebApplicationService
60
Programm5.4:CodierungdesScriptesmitderZeichenkette-Methode.Je-
derBuchstabewirdmiteinemanderenersetztunddasScriptwirdsounle-
serlichgemacht.
1
<script type="text/javascript">
2
3
var key = 122;
4
//varlist=eineListeausbestehenden,beliebigkombiniertenZeichen
5
6
function encodeScript(s){
7
var result = '';
8
for(i = 0; i < s.length; i++){
9
a = s.substr(i, 1);
10
b = list.indexOf(a) + key;
11
12
while(b > list.length){ b = b-list.length; }
13
14
result += list.substr(b,1);
15
}
16
return escape(result);
17
}
18
19
//scriptStringstandsforthetestingJavaScriptfunction
20
var escapeString = encodeScript(scriptString);
21
22
//encodedScript:
23
//.g%B5%3Ajfd%B5%60.ddZs*k*%21UI%6089%3B*k%60%21%7E%08jkf
24
//%B5%2C%60%C4%60%3C@lvvd%60%3C%60a%60s*k*%21%7B%60889TT*
25
//vlkj%60f.%60%08jkf%B5%2C%60f-%60%B5dj%60l%21sj%7E%6089f.
26
//Zs*k*%21%60%5D%C4%60%3C%3CUI%60899*vlkjZ%21%7E%08jkf%B5
27
//%2CU%7B%6089O%608O
28
29
<script>
5.7.3 Bibliothekenzur Komprimierungund Verschlüsselung
ZurunkompliziertenKomprimierungdesCodeswurdenbereitsunterschied-
liche Bibliotheken entwickelt, die den Vorgang derCodeverschleierung we-
sentlichvereinfachen.UmdieunterschiedlichenEffekte vonKomprimierung
undVerschlüsselungderfolgendenBibliothekenhervorzuheben,wirdjeweils
das Ergebnis der Verschlüsselung des JavaScript-Codes aus Programm 5.1
dargestellt.
JSMin
JSMin
13
isteine Bibliothekzur Komprimierung von JavaScript-Code, wel-
che sehreinfachgehaltenistundeineImplementierungfürunterschiedliche
13
http://crockford.com/javascript/jsmin
5.DerWebApplicationService
61
Programm 5.5: DekodierungdesScriptes.DieFunktion foowirdausge-
führtundzeigteinalert-FenstermitdemText„HelloWorld!“.
1
<script type="text/javascript">
2
3
var key = 122;
4
5
function decodeScript(s){
6
7
s = unescape(s);
8
var result = '';
9
10
for(i = 0; i < s.length; i++){
11
a = s.substr(i, 1);
12
b = list.indexOf(a) - key;
13
14
while(b < 0){ b = b + list.length; }
15
16
result += list.substr(b, 1);
17
}
18
return result;
19
}
20
21
var decodeString = decodeScript(escapeString);
22
eval(decodeString);
23
24
foo("World!");
25
26
</script>
Programmiersprachen wie z.B. Java, PHP, Ruby etc. bietet. Von dem ur-
sprünglichenCode werdenhierlediglichalle Kommentare,Zeilenumbrüche,
LeerzeilenundLeerzeichenentfernt.DasErgebnisdieserKomprimierung:
1
function foo(param){var myString="Hello "+param;if(param!=""){alert(
myString);}}
Shrinksafe
ShrinkSafe
14
isteinOpen Source JavaScript-Kompressorvondojo,welcher
aufRhino
15
basiert.DasToolisteinerseitsüberdieKommandozeileausführ-
bar und andererseitsin Webprojekten einsetzbar,z.B. überdas Einbinden
einer.jar-DateiinJava-Projekten.EsbestehtauchdieMöglichkeit,überdie
KommandozeilemehrereJavaScript-Dateienineineeinzigezuverpacken.Bei
derKomprimierung werdenhierwiederumsämtliche Kommentare,Leerzei-
chenundLeerzeilenentferntund VariablenmiteinfacherenNamenersetzt.
14
http://shrinksafe.dojotoolkit.org/
15
http://www.mozilla.org/rhino/
5.DerWebApplicationService
62
ImGegensatzzuanderenBibliothekenundToolsbleibenhierdieZeilenum-
brüchejedochbestehen,wieauchimErgebnisinProgramm5.6dargestellt.
Programm5.6:JavaScriptnachderKomprimierungmitShrinksafe.
1
function foo(_1){
2
var _2="Hello "+_1;
3
if(_1!=""){
4
alert(_2);
5
}
6
};
YUI Compressor
DerYUIKompressor
16
von Yahoo!istein JavaScript-Kompressor,welcher
einerseitsüberdieKommandozeile ausgeführtundandererseitsgenausowie
Shrinksafein einemWebprojektmitz.B.einer.jar-Dateieingebundenwer-
denkann.DieAnwendungüberdieJavaScriptCompressor-Klasseistaller-
dingsetwaskompliziert,vorallemweil diesekaum dokumentiertistundes
nurwenige Beispiele gibt.DieserKompressoreliminiertebenfallssämtliche
Kommentare, Leerzeilen, Zeilenumbrüche und Leerzeichen. Zudem werden
VariablenmiteinfacherenNamenersetzt,wieindemErgebnisersichtlich:
1
function foo(b){var a="Hello "+b;if(b!=""){alert(a)}};
Laut[2]habenTestsergeben,dassderYUIKompressorbesserkomprimiert
alsderDojoKompressorShrinksafeundsichereralsJSMin.Hierwurdenbei
derYUILibraryum10%-18%bessereErgebnisse erzielt.
GoogleClosureCompiler
Der Closure Compiler
17
von Google ist ein Tool zur Komprimierung von
JavaScript, welches auf drei unterschiedliche Arten einsetzbar ist: über ei-
neOpenSourceJava-Applikation(.jar-Datei),dieüberdieKommandozeile
aufgerufenoderineigenenWebprojektenverwendetwerdenkann,übereine
WebapplikationundübereineRESTfulAPI.DerClosureCompileristsomit
außerordentlichflexibelundaucheinfachanzuwenden.Hierwerdensämtliche
Kommentare, Leerzeichen, Leerzeilen und Zeilenumbrüche eliminiert sowie
VariablenmiteinfacherenNamenersetzt,wieimErgebnisersichtlich:
1
function foo(a){var b="Hello "+a;a!=""&&alert(b)};
Im GegensatzzumYUI CompressorstehthiereinebessereDokumentation
zurVerfügungundesfindensichauchzahlreicheAnwendungsbeispiele.
16
http://developer.yahoo.com/yui/compressor/
17
http://code.google.com/intl/de/closure/compiler/
5.DerWebApplicationService
63
Microsoft AJAX Minifier
DerMicrosoftAjaxMinifier
18
isteineSoftware zurKompressionvonJava-
Script und CSS, welche über die Kommandozeile ausführbar ist. Weiters
kanndasKompressionstoolauchinASP.NET-Projektenverwendetwerden.
Wie imErgebnis ersichtlich,werdenauch beidieserEntwicklungsämtliche
Kommentare, Leerzeichen, Leerzeilen und Zeilenumbrüche entfernt, sowie
VariablenmiteinfacherenNamenersetzt:
1
function foo(a){var b="Hello "+a;a!=""&&alert(b)}
Direct WebRemoting
DerCodeCompressorvonDWRkommtbeimgenerellenEinsatzvonDWR
in einem Projekt zurAnwendung. Diesermuss lediglich in der Konfigura-
tionsdatei, wie in Programm 5.7 dargestellt, aktiviert werden. Ab DWR-
Version3.0 istderKompressorjedochstandardmäßigaktiv, wenndasPro-
jektnichtimdebug-Modusgestartetwird.HierbeiwirdzurKomprimierung
entweder ShrinkSafe, der YUI Kompressor oder ein einfacherer Standard-
kompressor–wennwederShrinkSafenochYUIKompressorvorhandensind
bzw.keinedementsprechende.jar-Dateieingebundenwird–verwendet.Hier
gibt es zum Teil deutliche Unterschiede zwischen den verwendeten Kom-
pressoren.DerYUIKompressorz.B.entferntsämtlicheKommentare,Code-
einrückungenund Zeilenumbrüche, währenddessen der Standard Kompres-
sornurKommentareundCodeeinrückungenentfernt,aberetlicheLeerzeilen
zwischen denCodestückenhinterlässt.Komprimiertwerden standardmäßig
nurdieJavaScript-Dateien,die vonDWRerstelltwurden.Die Komprimie-
rung der eigenen JavaScript- und CSS-Dateien muss selbst vorgenommen
werden.
Programm5.7:AktivierungdesDWRCodeCompressors
1
<servlet>
2
<init-param>
3
<param-name>scriptCompressed</param-name>
4
<param-value>true</param-value>
5
</init-param>
6
</servlet>
5.7.4 Zusammenfassung
Der YUI Compressor und der Google Closure Compiler verschleiern auf
hohem Level und sind von den vorgestellten Ansätzen am brauchbarsten.
18
http://www.asp.net/ajaxlibrary/AjaxMinQuickStart.ashx
Documents you may be interested
Documents you may be interested