diff --git a/de/advanced/best-practice-performance.md b/de/advanced/best-practice-performance.md index 1db5aefd51..6bc3fa49e1 100755 --- a/de/advanced/best-practice-performance.md +++ b/de/advanced/best-practice-performance.md @@ -68,7 +68,7 @@ Wenn Sie die Protokollierung für Debuggingzwecke nutzen, sollten Sie statt `con #### Für Anwendungsaktivitäten -Wenn Sie Anwendungsaktivitäten protokollieren (z. B. den Datenverkehr oder API-Aufrufe aufzeichnen), sollten Sie statt `console.log()` eine Protokollierungsbibliothek wie [Winston](https://www.npmjs.com/package/winston) oder [Bunyan](https://www.npmjs.com/package/bunyan) verwenden. Einen ausführlichen Vergleich dieser beiden Bibliotheken finden Sie im StrongLoop-Blogbeitrag [Vergleich von Winston und Bunyan für die Node.js-Protokollierung](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +Wenn Sie Anwendungsaktivitäten protokollieren (z. B. den Datenverkehr oder API-Aufrufe aufzeichnen), sollten Sie statt `console.log()` eine Protokollierungsbibliothek wie [Winston](https://www.npmjs.com/package/winston) oder [Bunyan](https://www.npmjs.com/package/bunyan) verwenden. Einen ausführlichen Vergleich dieser beiden Bibliotheken finden Sie im StrongLoop-Blogbeitrag [Vergleich von Winston und Bunyan für die Node.js-Protokollierung](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -86,7 +86,7 @@ Um näher auf diese Themen eingehen zu können, müssen Sie sich ein grundlegend Weitere Informationen zu den Grundlagen der Fehlerbehandlung siehe: * [Fehlerbehandlung in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Aufbau leistungsfähiger Node-Anwendungen: Fehlerbehandlung](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop-Blog) +* [Aufbau leistungsfähiger Node-Anwendungen: Fehlerbehandlung](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop-Blog) #### Was Sie unterlassen sollten @@ -162,8 +162,8 @@ app.get('/', wrap(async (req, res, next) => { Weitere Informationen zur Fehlerbehandlung mithilfe von "Promises" siehe: -* [Asynchrone Fehlerbehandlung in Express mit "Promises", Generatoren und ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* ["Promises" in Node.js mit Q – eine Alternative zu Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchrone Fehlerbehandlung in Express mit "Promises", Generatoren und ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* ["Promises" in Node.js mit Q – eine Alternative zu Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/de/advanced/best-practice-security.md b/de/advanced/best-practice-security.md index f1058784fe..aba0d4fc66 100755 --- a/de/advanced/best-practice-security.md +++ b/de/advanced/best-practice-security.md @@ -144,7 +144,7 @@ app.use(session({ Dies sind einige weitere Empfehlungen aus der hervorragenden [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/). In diesem Blogbeitrag finden Sie alle Details zu diesen Empfehlungen: -* Implementieren Sie Rate-Limiting, um Brute-Force-Attacken gegen Authentifizierungen zu verhindern. Hierfür können Sie beispielsweise das [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) verwenden, um eine Rate-Limiting-Richtlinie durchzusetzen. Alternativ können Sie eine Middleware wie [express-limiter](https://www.npmjs.com/package/express-limiter) verwenden. Hierzu müssen Sie jedoch Ihren Code etwas modifizieren. +* Implementieren Sie Rate-Limiting, um Brute-Force-Attacken gegen Authentifizierungen zu verhindern. Hierfür können Sie beispielsweise das [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) verwenden, um eine Rate-Limiting-Richtlinie durchzusetzen. Alternativ können Sie eine Middleware wie [express-limiter](https://www.npmjs.com/package/express-limiter) verwenden. Hierzu müssen Sie jedoch Ihren Code etwas modifizieren. * Filtern und bereinigen Sie immer Benutzereingaben, um sich gegen XS-Angriffe (Cross-Site Scripting) und Befehlsinjektionsattacken zu schützen. * Implementieren Sie Verteidungsmaßnahmen gegen SQL-Injection-Attacken, indem sie parametrisierte Abfragen oder vorbereitete Anweisungen einsetzen. * Nutzen Sie das Open-Source-Tool [sqlmap](http://sqlmap.org/), um SQL-Injection-Schwachstellen in Ihrer Anwendung zu erkennen. diff --git a/en/advanced/best-practice-performance.md b/en/advanced/best-practice-performance.md index 1f516a37d2..9c447179e4 100644 --- a/en/advanced/best-practice-performance.md +++ b/en/advanced/best-practice-performance.md @@ -68,7 +68,7 @@ If you're logging for purposes of debugging, then instead of using `console.log( #### For app activity -If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). ### Handle exceptions properly @@ -84,7 +84,7 @@ Before diving into these topics, you should have a basic understanding of Node/E For more on the fundamentals of error handling, see: * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) #### What not to do @@ -157,9 +157,9 @@ app.get('/', wrap(async (req, res, next) => { The `wrap()` function is a wrapper that catches rejected promises and calls `next()` with the error as the first argument. For details, see [Asynchronous -Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/#cleaner-code-with-generators). +Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/#cleaner-code-with-generators). -For more information about error-handling by using promises, see [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). +For more information about error-handling by using promises, see [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). ## Things to do in your environment / setup {#in-environment} diff --git a/es/advanced/best-practice-performance.md b/es/advanced/best-practice-performance.md index d99dec3d22..31e262662a 100755 --- a/es/advanced/best-practice-performance.md +++ b/es/advanced/best-practice-performance.md @@ -71,7 +71,7 @@ Si realiza el registro a efectos de depuración, en lugar de utilizar `console.l #### Para la actividad de la aplicación -Si está registrando la actividad de la aplicación (por ejemplo, realizando un seguimiento del tráfico o las llamadas de API), en lugar de utilizar `console.log()`, utilice una biblioteca de registro como [Winston](https://www.npmjs.com/package/winston) o [Bunyan](https://www.npmjs.com/package/bunyan). Para ver una comparación detallada de estas dos bibliotecas, consulte el post del blog StrongLoop [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +Si está registrando la actividad de la aplicación (por ejemplo, realizando un seguimiento del tráfico o las llamadas de API), en lugar de utilizar `console.log()`, utilice una biblioteca de registro como [Winston](https://www.npmjs.com/package/winston) o [Bunyan](https://www.npmjs.com/package/bunyan). Para ver una comparación detallada de estas dos bibliotecas, consulte el post del blog StrongLoop [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -89,7 +89,7 @@ Antes de profundizar en estos temas, deberá tener unos conocimientos básicos d Para obtener más información sobre los aspectos básicos del manejo de errores, consulte: - [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -- [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blog StrongLoop) +- [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blog StrongLoop) #### Qué no debe hacer @@ -164,9 +164,9 @@ app.get('/', wrap(async (req, res, next) => { })) ``` -La función `wrap()` es un envoltorio que toma las promesas rechazadas y llama a `next()` con el error como primer argumento. Para más detalles, vea [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/). +La función `wrap()` es un envoltorio que toma las promesas rechazadas y llama a `next()` con el error como primer argumento. Para más detalles, vea [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/). -Para más información acerca del manejo de errores utilizando promesas, vea [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). +Para más información acerca del manejo de errores utilizando promesas, vea [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). ## Cosas que hacer en el entorno / configuración diff --git a/es/advanced/best-practice-security.md b/es/advanced/best-practice-security.md index fb329dade6..876910efce 100755 --- a/es/advanced/best-practice-security.md +++ b/es/advanced/best-practice-security.md @@ -199,7 +199,7 @@ Por último, las aplicaciones de Express, como cualquier otra aplicación web, s A continuación, se muestran algunas recomendaciones para la excelente lista de comprobación [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/). Consulte el post de este blog para ver todos los detalles de estas recomendaciones: -* Implemente el límite de velocidad para evitar ataques de fuerza bruta contra la autenticación. Una forma de hacerlo es utilizar [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) para forzar una política de limitación de velocidad. También puede utilizar middleware como [express-limiter](https://www.npmjs.com/package/express-limiter), aunque para ello deberá modificar el código de alguna forma. +* Implemente el límite de velocidad para evitar ataques de fuerza bruta contra la autenticación. Una forma de hacerlo es utilizar [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) para forzar una política de limitación de velocidad. También puede utilizar middleware como [express-limiter](https://www.npmjs.com/package/express-limiter), aunque para ello deberá modificar el código de alguna forma. * Filtre y sanee siempre la entrada de usuario para protegerse contra los ataques de scripts entre sitios (XSS) e inyección de mandatos. * Defiéndase contra los ataques de inyección de SQL utilizando consultas parametrizadas o sentencias preparadas. * Utilice la herramienta [sqlmap](http://sqlmap.org/) de código abierto para detectar vulnerabilidades de inyección de SQL en la aplicación. diff --git a/fr/advanced/best-practice-performance.md b/fr/advanced/best-practice-performance.md index 87e2a2aff8..36dbbe6d9c 100755 --- a/fr/advanced/best-practice-performance.md +++ b/fr/advanced/best-practice-performance.md @@ -70,7 +70,7 @@ Si vous utilisez la journalisation à des fins de débogage, utilisez un module #### Pour journaliser l'activité de votre application -Si vous journalisez l'activité de votre application (par exemple, pour suivre le trafic ou les appels API), utilisez une bibliothèque de journalisation telle que [Winston](https://www.npmjs.com/package/winston) ou [Bunyan](https://www.npmjs.com/package/bunyan) plutôt que d'utiliser `console.log()`. Pour obtenir une comparaison détaillée de ces deux bibliothèques, consultez l'article StrongLoop intitulé [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +Si vous journalisez l'activité de votre application (par exemple, pour suivre le trafic ou les appels API), utilisez une bibliothèque de journalisation telle que [Winston](https://www.npmjs.com/package/winston) ou [Bunyan](https://www.npmjs.com/package/bunyan) plutôt que d'utiliser `console.log()`. Pour obtenir une comparaison détaillée de ces deux bibliothèques, consultez l'article StrongLoop intitulé [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -88,7 +88,7 @@ Avant de s'immerger dans les rubriques qui suivent, il est conseillé de posséd Pour plus d'informations sur les bases du traitement des erreurs, voir : * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blogue StrongLoop) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blogue StrongLoop) #### A ne pas faire @@ -165,8 +165,8 @@ app.get('/', wrap(async (req, res, next) => { Pour plus d'informations sur le traitement des erreurs à l'aide de promesses, voir : -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/fr/advanced/best-practice-security.md b/fr/advanced/best-practice-security.md index 14281ff579..4862ef9e9d 100755 --- a/fr/advanced/best-practice-security.md +++ b/fr/advanced/best-practice-security.md @@ -145,7 +145,7 @@ app.use(session({ Voici d'autres recommandations issues de l'excellente [liste de contrôle de sécurité Node.js](https://blog.risingstack.com/node-js-security-checklist/). Pour tous les détails sur ces recommandations, reportez-vous à cet article de blogue : -* Implémentez la limitation de débit pour empêcher les attaques de force brute liées à l'authentification. Une façon de faire consiste à utiliser [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) pour mettre en place une règle de limitation de débit. Sinon, vous pouvez utiliser des middleware tels que [express-limiter](https://www.npmjs.com/package/express-limiter), mais vous devrez alors modifier quelque peu votre code. +* Implémentez la limitation de débit pour empêcher les attaques de force brute liées à l'authentification. Une façon de faire consiste à utiliser [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) pour mettre en place une règle de limitation de débit. Sinon, vous pouvez utiliser des middleware tels que [express-limiter](https://www.npmjs.com/package/express-limiter), mais vous devrez alors modifier quelque peu votre code. * Filtrez et nettoyez toujours les entrées utilisateur pour vous protéger contre les attaques de cross-site scripting (XSS) et d'injection de commande. * Défendez-vous contre les attaques par injection SQL en utilisant des requêtes paramétrées ou des instructions préparées. * Utilisez l'outil [sqlmap](http://sqlmap.org/) à code source ouvert pour détecter les vulnérabilités par injection SQL dans votre application. diff --git a/id/advanced/best-practice-performance.md b/id/advanced/best-practice-performance.md index c9b4c6a267..fa86a50908 100644 --- a/id/advanced/best-practice-performance.md +++ b/id/advanced/best-practice-performance.md @@ -68,7 +68,7 @@ If you're logging for purposes of debugging, then instead of using `console.log( #### For app activity -If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). ### Handle exceptions properly @@ -84,7 +84,7 @@ Before diving into these topics, you should have a basic understanding of Node/E For more on the fundamentals of error handling, see: * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) #### What not to do @@ -157,9 +157,9 @@ app.get('/', wrap(async (req, res, next) => { The `wrap()` function is a wrapper that catches rejected promises and calls `next()` with the error as the first argument. For details, see [Asynchronous -Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/#cleaner-code-with-generators). +Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/#cleaner-code-with-generators). -For more information about error-handling by using promises, see [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). +For more information about error-handling by using promises, see [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). ## Things to do in your environment / setup {#in-environment} diff --git a/id/guide/using-template-engines.md b/id/guide/using-template-engines.md index 354ad6b4c0..6bbd7bac8d 100755 --- a/id/guide/using-template-engines.md +++ b/id/guide/using-template-engines.md @@ -18,7 +18,7 @@ The [Express application generator](/{{ page.lang }}/starter/generator.html) use See [Template Engines (Express wiki)](https://github.com/expressjs/express/wiki#template-engines) for a list of template engines you can use with Express. -See also [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/). +See also [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/).
**Note**: Jade has been renamed to [Pug](https://www.npmjs.com/package/pug). You can continue to use Jade in your app, and it will work just fine. However if you want the latest updates to the template engine, you must replace Jade with Pug in your app. diff --git a/it/advanced/best-practice-performance.md b/it/advanced/best-practice-performance.md index 32710889b4..b01ba592d1 100755 --- a/it/advanced/best-practice-performance.md +++ b/it/advanced/best-practice-performance.md @@ -69,7 +69,7 @@ Se si sta effettuando la registrazione per motivi di debug, allora invece di uti #### Per l'attività dell'applicazione -Se si sta registrando l'attività dell'applicazione (ad esempio, si sta tenendo traccia del traffico e delle chiamate API), invece di utilizzare `console.log()`, utilizzare una libreria di registrazione quale [Winston](https://www.npmjs.com/package/winston) o [Bunyan](https://www.npmjs.com/package/bunyan). Per un confronto dettagliato di queste due librerie, consultare il post del blog di StrongLoop [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +Se si sta registrando l'attività dell'applicazione (ad esempio, si sta tenendo traccia del traffico e delle chiamate API), invece di utilizzare `console.log()`, utilizzare una libreria di registrazione quale [Winston](https://www.npmjs.com/package/winston) o [Bunyan](https://www.npmjs.com/package/bunyan). Per un confronto dettagliato di queste due librerie, consultare il post del blog di StrongLoop [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -87,7 +87,7 @@ Prima di leggere questi argomenti, è necessario avere una conoscenza base della Per ulteriori informazioni sulle nozioni di base della gestione degli errori, consultare: * [Gestione degli errori in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Come creare applicazioni Node solide: Gestione degli errori](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blog di StrongLoop) +* [Come creare applicazioni Node solide: Gestione degli errori](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blog di StrongLoop) #### Cosa non fare @@ -164,8 +164,8 @@ app.get('/', wrap(async (req, res, next) => { Per ulteriori informazioni sulla gestione degli errori mediante l'utilizzo di promises, consultare: -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/it/advanced/best-practice-security.md b/it/advanced/best-practice-security.md index f6da31316d..aeda84af49 100755 --- a/it/advanced/best-practice-security.md +++ b/it/advanced/best-practice-security.md @@ -145,7 +145,7 @@ app.use(session({ Ecco alcuni consigli sull'eccellente [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/). Fare riferimento a quel post del blog per tutti i dettagli su questi consigli: -* Implementare il limite di intervallo per evitare attacchi pesanti al processo di autenticazione. Un modo per effettuare ciò è quello di utilizzare [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) per rafforzare una policy per il limite di intervallo. In alternativa, è possibile utilizzare il middleware, ad esempio [express-limiter](https://www.npmjs.com/package/express-limiter), ma questo richiede di modificare in parte il codice. +* Implementare il limite di intervallo per evitare attacchi pesanti al processo di autenticazione. Un modo per effettuare ciò è quello di utilizzare [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) per rafforzare una policy per il limite di intervallo. In alternativa, è possibile utilizzare il middleware, ad esempio [express-limiter](https://www.npmjs.com/package/express-limiter), ma questo richiede di modificare in parte il codice. * Filtrare sempre e verificare gli input utente come protezione contro attacchi XSS (cross-site scripting) e command injection. * Creare una difesa contro attacchi SQL injection utilizzando query con parametri o istruzioni preparate. * Utilizzare lo strumento [sqlmap](http://sqlmap.org/) open source per rilevare le vulnerabilità SQL injection nell'applicazione. diff --git a/ja/advanced/best-practice-performance.md b/ja/advanced/best-practice-performance.md index 57d17f2af1..f789070abe 100755 --- a/ja/advanced/best-practice-performance.md +++ b/ja/advanced/best-practice-performance.md @@ -68,7 +68,7 @@ Node.js 4.0+ または io.js 2.1.0+ を使用している場合、アプリケ #### アプリケーション・アクティビティー -アプリケーション・アクティビティー (例えば、トラフィックまたは API 呼び出しのトラッキング) のロギングを実行する場合は、`console.log()` を使用するのではなく、[Winston](https://www.npmjs.com/package/winston) や [Bunyan](https://www.npmjs.com/package/bunyan) などのロギング・ライブラリーを使用します。これらの 2 つのライブラリーの詳細な比較については、StrongLoop ブログ投稿の [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/) を参照してください。 +アプリケーション・アクティビティー (例えば、トラフィックまたは API 呼び出しのトラッキング) のロギングを実行する場合は、`console.log()` を使用するのではなく、[Winston](https://www.npmjs.com/package/winston) や [Bunyan](https://www.npmjs.com/package/bunyan) などのロギング・ライブラリーを使用します。これらの 2 つのライブラリーの詳細な比較については、StrongLoop ブログ投稿の [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/) を参照してください。 ### 例外を適切に処理する @@ -84,7 +84,7 @@ Node アプリケーションは、キャッチされていない例外が発生 エラー処理のその他の基礎については、下記を参照してください。 * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop ブログ) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop ブログ) #### 実行してはならないこと @@ -157,8 +157,8 @@ app.get('/', wrap(async (req, res, next) => { Promise を使用するエラー処理の詳細については、下記を参照してください。 -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) ## 環境/セットアップで実行する処理 diff --git a/ja/advanced/best-practice-security.md b/ja/advanced/best-practice-security.md index 18b6bc3aa8..ebaa884030 100755 --- a/ja/advanced/best-practice-security.md +++ b/ja/advanced/best-practice-security.md @@ -181,7 +181,7 @@ $ snyk test 次に、優れた [Node.js セキュリティー・チェックリスト](https://blog.risingstack.com/node-js-security-checklist/)に記載されているその他の推奨事項をリストします。これらの推奨事項の詳細については、ブログの投稿を参照してください。 -* 認証に対する総当たり攻撃を防止するために、回数制限を実装してください。そのための 1 つの方法では、[StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) を使用して回数制限ポリシーを適用します。あるいは、[express-limiter](https://www.npmjs.com/package/express-limiter) などのミドルウェアを使用できますが、そのためにはコードを若干変更する必要があります。 +* 認証に対する総当たり攻撃を防止するために、回数制限を実装してください。そのための 1 つの方法では、[StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) を使用して回数制限ポリシーを適用します。あるいは、[express-limiter](https://www.npmjs.com/package/express-limiter) などのミドルウェアを使用できますが、そのためにはコードを若干変更する必要があります。 * クロスサイト・スクリプティング (XSS) とコマンド・インジェクション攻撃から保護するために、必ず、ユーザー入力のフィルタリングとサニタイズを実行してください。 * パラメーター化照会または作成済みステートメントを使用して、SQL インジェクション攻撃に対して防衛してください。 * オープン・ソースの [sqlmap](http://sqlmap.org/) ツールを使用して、アプリケーションの SQL インジェクションに対する脆弱性を検出してください。 diff --git a/ja/guide/using-template-engines.md b/ja/guide/using-template-engines.md index ccbc92b574..ea747d4312 100755 --- a/ja/guide/using-template-engines.md +++ b/ja/guide/using-template-engines.md @@ -13,7 +13,7 @@ _テンプレートエンジン_ を使用すると、アプリケーション Expressで動作する一般的なテンプレートエンジンには、[Pug](https://pugjs.org/api/getting-started.html)、[Mustache](https://www.npmjs.com/package/mustache)、[EJS](https://www.npmjs.com/package/ejs)があります。[Expressアプリケーションジェネレータ](/{{ page.lang }}/starter/generator.html)は[Jade](https://www.npmjs.com/package/jade)をデフォルトとして使用しますが、いくつかの他のものもサポートしています。 -Expressで使用できるテンプレートエンジンのリストについては、[テンプレートエンジン (Express wiki)](https://github.com/expressjs/express/wiki#template-engines)を参照してください。また、[JavaScript テンプレートエンジンの比較: Jade, Mustache, Dust など](https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/)も参照してください。 +Expressで使用できるテンプレートエンジンのリストについては、[テンプレートエンジン (Express wiki)](https://github.com/expressjs/express/wiki#template-engines)を参照してください。また、[JavaScript テンプレートエンジンの比較: Jade, Mustache, Dust など](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/)も参照してください。
diff --git a/ko/advanced/best-practice-performance.md b/ko/advanced/best-practice-performance.md index 7ceda60ea5..ee467f4f78 100755 --- a/ko/advanced/best-practice-performance.md +++ b/ko/advanced/best-practice-performance.md @@ -76,7 +76,7 @@ Node.js 4.0 이상 또는 io.js 2.1.0 이상을 사용하는 경우, `--trace-sy #### 앱 활동에 대한 로깅 -앱 활동을 로깅하는 경우(예: 트래픽 또는 API 호출을 추적)에는 `console.log()`를 사용하는 대신 [Winston](https://www.npmjs.com/package/winston) 또는 [Bunyan](https://www.npmjs.com/package/bunyan)과 같은 로깅 라이브러리를 사용하십시오. 이 두 라이브러리에 대한 자세한 비교는 StrongLoop 블로그 게시물 [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/)을 참조하십시오. +앱 활동을 로깅하는 경우(예: 트래픽 또는 API 호출을 추적)에는 `console.log()`를 사용하는 대신 [Winston](https://www.npmjs.com/package/winston) 또는 [Bunyan](https://www.npmjs.com/package/bunyan)과 같은 로깅 라이브러리를 사용하십시오. 이 두 라이브러리에 대한 자세한 비교는 StrongLoop 블로그 게시물 [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/)을 참조하십시오. @@ -94,7 +94,7 @@ Node 앱은 처리되지 않은 예외가 발생할 때 충돌이 발생합니 오류 처리의 기본사항 대한 자세한 내용은 다음을 참조하십시오. * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/)(StrongLoop 블로그) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/)(StrongLoop 블로그) #### 수행하지 않아야 하는 항목 @@ -171,10 +171,10 @@ app.get('/', wrap(async (req, res, next) => { `wrap()` 함수는 거부된 프로미스를 캐치해서 에러를 첫번째 인수로 두고 `next()`를 호출합니다. 자세한 정보는 다음을 참조하십시오. -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) 프로미스를 사용한 오류 처리에 대한 자세한 정보는 다음을 참조하십시오. -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/pt-br/advanced/best-practice-performance.md b/pt-br/advanced/best-practice-performance.md index 34de74975c..b5cf850f83 100755 --- a/pt-br/advanced/best-practice-performance.md +++ b/pt-br/advanced/best-practice-performance.md @@ -96,7 +96,7 @@ exemplo, rastreamento de tráfico ou chamadas de API), ao invés de usar o `console.log()`, use uma biblioteca de registro de logs como [Winston](https://www.npmjs.com/package/winston) ou [Bunyan](https://www.npmjs.com/package/bunyan). Para obter uma comparação detalhada dessas duas bibliotecas, consulte a postagem do blog do StrongLoop -[Comparando o registro de logs no Node.js usando Winston e Bunyan](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +[Comparando o registro de logs no Node.js usando Winston e Bunyan](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -125,7 +125,7 @@ convenção de retorno de chamada erros-first para tratar o erro de forma signif Para obter mais informações sobre os fundamentos de manipulação de erros, consulte: * [Manipulação de Erros no Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Construindo Aplicativos Node Robustos: Manipulação de Erros](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blog do StrongLoop) +* [Construindo Aplicativos Node Robustos: Manipulação de Erros](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (blog do StrongLoop) #### O que não fazer @@ -225,8 +225,8 @@ Para obter mais informações sobre o manipulação de erros usando promessas, consulte: * [Manipulando Erros -Assíncronos no Express com Promessas, Geradores e ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promessas no Node.js com o Q – Uma Alternativa a Retornos de Chamada](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +Assíncronos no Express com Promessas, Geradores e ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promessas no Node.js com o Q – Uma Alternativa a Retornos de Chamada](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/pt-br/advanced/best-practice-security.md b/pt-br/advanced/best-practice-security.md index de14118e56..0b1790844b 100755 --- a/pt-br/advanced/best-practice-security.md +++ b/pt-br/advanced/best-practice-security.md @@ -222,7 +222,7 @@ de Verificação de Segurança do Node.js](https://blog.risingstack.com/node-js- * Implemente limitações de tráfego para evitar ataques de força bruta contra a autenticação. Uma forma de fazer isso é usar o [Gateway -da API do StrongLoop](https://strongloop.com/node-js/api-gateway/) para impingir políticas de limitação de tráfego. Alternativamente, +da API do StrongLoop](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) para impingir políticas de limitação de tráfego. Alternativamente, é possível usar um middleware como o [express-limiter](https://www.npmjs.com/package/express-limiter), mas fazer isso irá requerer que você modifique seu código de alguma forma. * Sempre filtrar e limpar a entrada do usuário para se proteger de ataques de cross-site scripting (XSS) e injeção de comando. diff --git a/ru/advanced/best-practice-performance.md b/ru/advanced/best-practice-performance.md index 96a6f0d821..247a1573f0 100755 --- a/ru/advanced/best-practice-performance.md +++ b/ru/advanced/best-practice-performance.md @@ -70,7 +70,7 @@ app.use(compression()) #### В целях регистрации работы приложения -Для регистрации работы приложения (например, учета переданных данных или отслеживания вызовов API-функций) можно вместо `console.log()` воспользоваться библиотекой регистрации типа [Winston](https://www.npmjs.com/package/winston) или [Bunyan](https://www.npmjs.com/package/bunyan). Подробное сравнение двух библиотек проведено в корпоративном блоге StrongLoop [Сравнение протоколирования Node.js с использованием Winston и Bunyan](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +Для регистрации работы приложения (например, учета переданных данных или отслеживания вызовов API-функций) можно вместо `console.log()` воспользоваться библиотекой регистрации типа [Winston](https://www.npmjs.com/package/winston) или [Bunyan](https://www.npmjs.com/package/bunyan). Подробное сравнение двух библиотек проведено в корпоративном блоге StrongLoop [Сравнение протоколирования Node.js с использованием Winston и Bunyan](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -88,7 +88,7 @@ app.use(compression()) Более подробная информация об основных принципах обработки ошибок приведена в разделе: * [Обработка ошибок в Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Разработка устойчивых к сбоям приложений Node: обработка ошибок](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (корпоративный блог StrongLoop) +* [Разработка устойчивых к сбоям приложений Node: обработка ошибок](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (корпоративный блог StrongLoop) #### Чего не нужно делать @@ -165,8 +165,8 @@ app.get('/', wrap(async (req, res, next) => { Дополнительная информация об обработке ошибок с использованием промисов приведена в разделе: -* [Обработка ошибок асинхронного кода в Express с использованием промисов, генераторов и ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Промисы в Node.js с Q - альтернатива функции обратного вызова](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Обработка ошибок асинхронного кода в Express с использованием промисов, генераторов и ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Промисы в Node.js с Q - альтернатива функции обратного вызова](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/ru/advanced/best-practice-security.md b/ru/advanced/best-practice-security.md index b6e12255dc..5de24d8362 100755 --- a/ru/advanced/best-practice-security.md +++ b/ru/advanced/best-practice-security.md @@ -145,7 +145,7 @@ app.use(session({ Ниже приводится несколько дополнительных рекомендаций, взятых из исчерпывающего [Контрольного списка требований к защите Node.js](https://blog.risingstack.com/node-js-security-checklist/). В этой публикации можно найти дополнительную информацию по всем приведенным ниже рекомендациям: -* Введите ограничение скорости передачи данных во избежание атак методом грубого подбора сочетаний символов для идентификации. Для реализации стратегии ограничения скорости передачи данных можно воспользоваться [Шлюзом API StrongLoop](https://strongloop.com/node-js/api-gateway/). В качестве альтернативы, можно использовать промежуточный обработчик, например, [express-limiter](https://www.npmjs.com/package/express-limiter), но для этого придется внести некоторые изменения в код. +* Введите ограничение скорости передачи данных во избежание атак методом грубого подбора сочетаний символов для идентификации. Для реализации стратегии ограничения скорости передачи данных можно воспользоваться [Шлюзом API StrongLoop](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/). В качестве альтернативы, можно использовать промежуточный обработчик, например, [express-limiter](https://www.npmjs.com/package/express-limiter), но для этого придется внести некоторые изменения в код. * Всегда применяйте фильтрацию и очистку пользовательского ввода в целях защиты от атак межсайтового скриптинга (XSS) и ввода ложных команд. * Обеспечьте защиту от атак внедрения SQL-кода с помощью параметризованных запросов или подготовленных операторов. * Используйте инструмент [sqlmap](http://sqlmap.org/) с открытым исходным кодом для выявления уязвимостей к внедрению SQL-кода в приложение. diff --git a/sk/advanced/best-practice-performance.md b/sk/advanced/best-practice-performance.md index b74cb88f8c..31afa7fa5e 100644 --- a/sk/advanced/best-practice-performance.md +++ b/sk/advanced/best-practice-performance.md @@ -73,7 +73,7 @@ Ak používate na debugovanie logovanie pomocou `console.log()`, používajte ra #### Logovanie aktivít aplikácie -Ak používate logovanie na sledovanie aktivít aplikácie (napr. sledovanie traffic-u, príp. API volaní), používajte namiesto `console.log()` logovacie knižnice, ako sú napr. [Winston](https://www.npmjs.com/package/winston) či [Bunyan](https://www.npmjs.com/package/bunyan). Ak vás zaujíma detailnejšie porovnanie týchto dvoch knižníc, prečítajte si tento blog post: [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +Ak používate logovanie na sledovanie aktivít aplikácie (napr. sledovanie traffic-u, príp. API volaní), používajte namiesto `console.log()` logovacie knižnice, ako sú napr. [Winston](https://www.npmjs.com/package/winston) či [Bunyan](https://www.npmjs.com/package/bunyan). Ak vás zaujíma detailnejšie porovnanie týchto dvoch knižníc, prečítajte si tento blog post: [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -91,7 +91,7 @@ Predtým, ako sa hlbšie pustíme do týchto tém, mali by ste mať základné z Pre viac informácií ohľadom základov error handlingu sa pozrite na: * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) #### Čo nerobiť @@ -169,8 +169,8 @@ app.get('/', wrap(async (req, res, next) => { Pre viac informácií ohľadom error handling-u použitím promises si prečítajte: -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/sk/advanced/best-practice-security.md b/sk/advanced/best-practice-security.md index 1380934c50..14711ba743 100644 --- a/sk/advanced/best-practice-security.md +++ b/sk/advanced/best-practice-security.md @@ -152,7 +152,7 @@ app.use(session({ Tu sú ďalšie odporúčania zo skvelého [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/) zoznamu. Pre viac detailov ohľadom jednotlivých odporúčaní si prečítajte samotný blog post: -* Implementujte tzv. rate-limiting pre vyhnutie sa brute-force útokom voči autentifikácii. Jednou z možností ako to dosiahnuť je použitie [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) k vynúteniu rate-limiting policy. Ako alternatívu môžete použiť middleware, ako napr. [express-limiter](https://www.npmjs.com/package/express-limiter), avšak to si už vyžaduje mierny zásah do kódu vašej aplikácie. +* Implementujte tzv. rate-limiting pre vyhnutie sa brute-force útokom voči autentifikácii. Jednou z možností ako to dosiahnuť je použitie [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) k vynúteniu rate-limiting policy. Ako alternatívu môžete použiť middleware, ako napr. [express-limiter](https://www.npmjs.com/package/express-limiter), avšak to si už vyžaduje mierny zásah do kódu vašej aplikácie. * Vždy filtrujte a overte vstup od používateľa, aby ste vašu aplikáciu ochránili voči útokom typu cross-site scripting (XSS) a command injection. * Bránte sa voči útokom typu SQL injection použitím parametrizovaych queries, príp. prepared statements. * Používajte open source tool [sqlmap](http://sqlmap.org/) k detekcii SQL injection vulnerabilities vo vašej aplikácii. diff --git a/sk/guide/using-template-engines.md b/sk/guide/using-template-engines.md index 2215674583..3f0f8bfbf9 100644 --- a/sk/guide/using-template-engines.md +++ b/sk/guide/using-template-engines.md @@ -20,7 +20,7 @@ Medzi populárne template enginy fungujúce s Express patria [Pug](https://pugjs [Express generátor](/{{ page.lang }}/starter/generator.html) požíva ako defaultný Pug, avšak podporuje aj mnohé ďalšie. Zoznam podporovaných template enginov nájdete tu: [Template Engines (Express wiki)](https://github.com/expressjs/express/wiki#template-engines). -Pozrite si taktiež [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/). +Pozrite si taktiež [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/). Aby Express dokázal spracovať a vyrendrovať template súbory, musí aplikácia obsahovať [nasledujúce nastavenia](/{{ page.lang }}/4x/api.html#app.set): diff --git a/th/advanced/best-practice-performance.md b/th/advanced/best-practice-performance.md index 4c6692d833..cedb023990 100644 --- a/th/advanced/best-practice-performance.md +++ b/th/advanced/best-practice-performance.md @@ -68,7 +68,7 @@ If you're logging for purposes of debugging, then instead of using `console.log( #### For app activity -If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). ### Handle exceptions properly @@ -84,7 +84,7 @@ Before diving into these topics, you should have a basic understanding of Node/E For more on the fundamentals of error handling, see: * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) #### What not to do @@ -157,8 +157,8 @@ app.get('/', wrap(async (req, res, next) => { For more information about error-handling by using promises, see: -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) ## Things to do in your environment / setup {#in-environment} diff --git a/th/advanced/best-practice-security.md b/th/advanced/best-practice-security.md index 23a13b7fa0..4d32014564 100644 --- a/th/advanced/best-practice-security.md +++ b/th/advanced/best-practice-security.md @@ -187,7 +187,7 @@ Finally, Express apps - like any other web apps - can be vulnerable to a variety Here are some further recommendations from the excellent [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/). Refer to that blog post for all the details on these recommendations: -* Implement rate-limiting to prevent brute-force attacks against authentication. One way to do this is to use [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) to enforce a rate-limiting policy. Alternatively, you can use middleware such as [express-limiter](https://www.npmjs.com/package/express-limiter), but doing so will require you to modify your code somewhat. +* Implement rate-limiting to prevent brute-force attacks against authentication. One way to do this is to use [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) to enforce a rate-limiting policy. Alternatively, you can use middleware such as [express-limiter](https://www.npmjs.com/package/express-limiter), but doing so will require you to modify your code somewhat. * Always filter and sanitize user input to protect against cross-site scripting (XSS) and command injection attacks. * Defend against SQL injection attacks by using parameterized queries or prepared statements. * Use the open-source [sqlmap](http://sqlmap.org/) tool to detect SQL injection vulnerabilities in your app. diff --git a/th/guide/using-template-engines.md b/th/guide/using-template-engines.md index 7c87be85ee..a37a39e64f 100755 --- a/th/guide/using-template-engines.md +++ b/th/guide/using-template-engines.md @@ -18,7 +18,7 @@ The [Express application generator](/{{ page.lang }}/starter/generator.html) use See [Template Engines (Express wiki)](https://github.com/expressjs/express/wiki#template-engines) for a list of template engines you can use with Express. -See also [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/). +See also [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/).
**Note**: Jade has been renamed to [Pug](https://www.npmjs.com/package/pug). You can continue to use Jade in your app, and it will work just fine. However if you want the latest updates to the template engine, you must replace Jade with Pug in your app. diff --git a/tr/advanced/best-practice-performance.md b/tr/advanced/best-practice-performance.md index 105f17ec04..8e0ac98683 100644 --- a/tr/advanced/best-practice-performance.md +++ b/tr/advanced/best-practice-performance.md @@ -70,7 +70,7 @@ Hata ayıklama amacıyla loglama yapıyorsanız, o zaman `console.log()` yerine #### Uygulama aktivitesi için -Uygulama aktivitesini logluyorsanız (örneğin trafik izleme veya API çağrıları), `console.log()` yerine [Winston](https://www.npmjs.com/package/winston) veya [Bunyan](https://www.npmjs.com/package/bunyan) gibi bir loglama kütüphanesi kullanın. Bu iki kütüphanenin detaylı bir karşılaştırması için, StrongLoop blog yazısına bakınız [Winston ve Bunyan Node.js Loglama Karşılaştırması](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +Uygulama aktivitesini logluyorsanız (örneğin trafik izleme veya API çağrıları), `console.log()` yerine [Winston](https://www.npmjs.com/package/winston) veya [Bunyan](https://www.npmjs.com/package/bunyan) gibi bir loglama kütüphanesi kullanın. Bu iki kütüphanenin detaylı bir karşılaştırması için, StrongLoop blog yazısına bakınız [Winston ve Bunyan Node.js Loglama Karşılaştırması](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). ### İstisnaları düzgün işle @@ -86,7 +86,7 @@ Bu konulara girmeden önce Node/Express istisna işleme ile ilgili temel bir anl Hata işleme temelleri hakkında daha fazla bilgi için bakınız: * [Node.js'te Hata İşleme](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Güçlü Node Uygulamaları Yazmak: Hata İşleme](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blogu) +* [Güçlü Node Uygulamaları Yazmak: Hata İşleme](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blogu) #### Ne yapmamalı @@ -156,9 +156,9 @@ app.get('/', wrap(async (req, res, next) => { })) ``` -`wrap()` fonksiyonu ret edilen promise'ları yakalayıp birinci argümanı hata olarak `next()` fonkisyonunu çağıran bir sarıcıdır (wrapper). Detaylar için, bakınız [Express'te Promise, Generator ve ES7 ile Asenkron Hata Ele Alma](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/#cleaner-code-with-generators). +`wrap()` fonksiyonu ret edilen promise'ları yakalayıp birinci argümanı hata olarak `next()` fonkisyonunu çağıran bir sarıcıdır (wrapper). Detaylar için, bakınız [Express'te Promise, Generator ve ES7 ile Asenkron Hata Ele Alma](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/#cleaner-code-with-generators). -Promise'lerle hata ele alma ile ilgili daha fazla bilgi için bakınız [Node.js'te Q ile Promis'ler – Geri çağrımalara Bir Alternatif](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). +Promise'lerle hata ele alma ile ilgili daha fazla bilgi için bakınız [Node.js'te Q ile Promis'ler – Geri çağrımalara Bir Alternatif](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/). ## Ortamınızda / kurulumunuzda yapılacak şeyler {#in-environment} diff --git a/tr/guide/using-template-engines.md b/tr/guide/using-template-engines.md index 7b27242759..1c94f95c04 100644 --- a/tr/guide/using-template-engines.md +++ b/tr/guide/using-template-engines.md @@ -14,7 +14,7 @@ _Şablon motoru_, uygulamanızda statik şablon dosyaları kullanmanızı sağla Express ile çalışan bazı popüler şablon motorları: [Pug](https://pugjs.org/api/getting-started.html), [Mustache](https://www.npmjs.com/package/mustache), ve [EJS](https://www.npmjs.com/package/ejs). [Express uygulama üreteci (generator)](/{{ page.lang }}/starter/generator.html) varsayılan olarak [Jade](https://www.npmjs.com/package/jade) kullanıyor, ancak aynı zamanda diğerlerini de destekler. Express ile kullanabileceğiniz şablon motorları listesi için bakınız [Şablon Motorları (Express wiki)](https://github.com/expressjs/express/wiki#template-engines). -Ayrıca bakınız: [JavaScript Şablonlama Motorlarını Karşılaştırma:: Jade, Mustache, Dust ve Daha fazla](https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/). +Ayrıca bakınız: [JavaScript Şablonlama Motorlarını Karşılaştırma:: Jade, Mustache, Dust ve Daha fazla](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/).
**Not**: Jade, [Pug](https://www.npmjs.com/package/pug) olarak değiştirildi. Uygulamanızda Jade kullanmaya devam edebilirsiniz, ve problem olmadan çalışacaktır. Ancak şablon motorunun en son güncellemelerini almak istiyorsanız, uygulamanızda Jade'i Pug ile değiştirmelisiniz. diff --git a/uk/advanced/best-practice-performance.md b/uk/advanced/best-practice-performance.md index 2b3aef6bf6..21bad70ca8 100644 --- a/uk/advanced/best-practice-performance.md +++ b/uk/advanced/best-practice-performance.md @@ -69,7 +69,7 @@ If you're logging for purposes of debugging, then instead of using `console.log( #### For app activity -If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). +If you're logging app activity (for example, tracking traffic or API calls), instead of using `console.log()`, use a logging library like [Winston](https://www.npmjs.com/package/winston) or [Bunyan](https://www.npmjs.com/package/bunyan). For a detailed comparison of these two libraries, see the StrongLoop blog post [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/). @@ -87,7 +87,7 @@ Before diving into these topics, you should have a basic understanding of Node/E For more on the fundamentals of error handling, see: * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) #### What not to do @@ -164,8 +164,8 @@ app.get('/', wrap(async (req, res, next) => { For more information about error-handling by using promises, see: -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/uk/advanced/best-practice-security.md b/uk/advanced/best-practice-security.md index 19616166d2..f160401b24 100644 --- a/uk/advanced/best-practice-security.md +++ b/uk/advanced/best-practice-security.md @@ -165,7 +165,7 @@ $ snyk test Here are some further recommendations from the excellent [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/). Refer to that blog post for all the details on these recommendations: -* Implement rate-limiting to prevent brute-force attacks against authentication. One way to do this is to use [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) to enforce a rate-limiting policy. Alternatively, you can use middleware such as [express-limiter](https://www.npmjs.com/package/express-limiter), but doing so will require you to modify your code somewhat. +* Implement rate-limiting to prevent brute-force attacks against authentication. One way to do this is to use [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) to enforce a rate-limiting policy. Alternatively, you can use middleware such as [express-limiter](https://www.npmjs.com/package/express-limiter), but doing so will require you to modify your code somewhat. * Always filter and sanitize user input to protect against cross-site scripting (XSS) and command injection attacks. * Defend against SQL injection attacks by using parameterized queries or prepared statements. * Use the open-source [sqlmap](http://sqlmap.org/) tool to detect SQL injection vulnerabilities in your app. diff --git a/uk/guide/using-template-engines.md b/uk/guide/using-template-engines.md index c1b0cfbe2b..3441ad2c9f 100755 --- a/uk/guide/using-template-engines.md +++ b/uk/guide/using-template-engines.md @@ -19,7 +19,7 @@ The [Express application generator](/{{ page.lang }}/starter/generator.html) use See [Template Engines (Express wiki)](https://github.com/expressjs/express/wiki#template-engines) for a list of template engines you can use with Express. -See also [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/). +See also [Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/). To render template files, set the following [application setting properties](/{{ page.lang }}/4x/api.html#app.set): diff --git a/zh-cn/advanced/best-practice-performance.md b/zh-cn/advanced/best-practice-performance.md index 077e8f4497..fb88d1c6d0 100755 --- a/zh-cn/advanced/best-practice-performance.md +++ b/zh-cn/advanced/best-practice-performance.md @@ -61,7 +61,7 @@ app.use(compression()) #### 出于应用程序活动目的 -如果要对应用程序活动进行日志记录(例如,跟踪流量或 API 调用),请使用 [Winston](https://www.npmjs.com/package/winston) 或 [Bunyan](https://www.npmjs.com/package/bunyan) 之类的日志记录库,而不要使用 `console.log()`。要了解这两个库的详细对比,请参阅 StrongLoop 博客帖子 [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/)。 +如果要对应用程序活动进行日志记录(例如,跟踪流量或 API 调用),请使用 [Winston](https://www.npmjs.com/package/winston) 或 [Bunyan](https://www.npmjs.com/package/bunyan) 之类的日志记录库,而不要使用 `console.log()`。要了解这两个库的详细对比,请参阅 StrongLoop 博客帖子 [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/)。 @@ -79,7 +79,7 @@ Node 应用程序在遇到未捕获的异常时会崩溃。不处理异常并采 有关错误处理基本知识的更多信息,请参阅: * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/)(StrongLoop 博客) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/)(StrongLoop 博客) #### 请勿执行以下操作 @@ -156,8 +156,8 @@ app.get('/', wrap(async (req, res, next) => { 有关使用 Promise 来处理错误的更多信息,请参阅: -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/zh-cn/advanced/best-practice-security.md b/zh-cn/advanced/best-practice-security.md index e41423de78..051af3d1fc 100755 --- a/zh-cn/advanced/best-practice-security.md +++ b/zh-cn/advanced/best-practice-security.md @@ -145,7 +145,7 @@ app.use(session({ 以下是来自非常出色的 [Node.js 安全核对表](https://blog.risingstack.com/node-js-security-checklist/)的一些进一步建议。请参阅此博客帖子以了解关于这些建议的所有详细信息: -* 实施速率限制,防止针对认证的暴力攻击。实现这一点的一种方式是使用 [StrongLoop API ](https://strongloop.com/node-js/api-gateway/)来强制实施速率限制策略。或者,可以使用诸如 [express-limiter](https://www.npmjs.com/package/express-limiter) 的中间件,但是这样做需要对代码作些修改。 +* 实施速率限制,防止针对认证的暴力攻击。实现这一点的一种方式是使用 [StrongLoop API ](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/)来强制实施速率限制策略。或者,可以使用诸如 [express-limiter](https://www.npmjs.com/package/express-limiter) 的中间件,但是这样做需要对代码作些修改。 * 始终过滤和净化用户输入,防御跨站点脚本编制 (XSS) 和命令注入攻击。 * 使用参数化查询或预编译的语句来防御 SQL 注入攻击。 * 使用开源的 [sqlmap](http://sqlmap.org/) 工具来检测应用程序中的 SQL 注入漏洞。 diff --git a/zh-tw/advanced/best-practice-performance.md b/zh-tw/advanced/best-practice-performance.md index 5bc72a91d9..f2aa8b4464 100755 --- a/zh-tw/advanced/best-practice-performance.md +++ b/zh-tw/advanced/best-practice-performance.md @@ -70,7 +70,7 @@ app.use(compression()) #### 為了應用程式活動 如果您要記載應用程式活動(例如,追蹤資料流量或 API 呼叫),則不要使用 `console.log()`,請改用 [Winston](https://www.npmjs.com/package/winston) 或 -[Bunyan](https://www.npmjs.com/package/bunyan) 之類的記載程式庫。如需這兩種程式庫的詳細比較,請參閱 StrongLoop 部落格文章 [Comparing Winston and Bunyan Node.js Logging](https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/)。 +[Bunyan](https://www.npmjs.com/package/bunyan) 之類的記載程式庫。如需這兩種程式庫的詳細比較,請參閱 StrongLoop 部落格文章 [Comparing Winston and Bunyan Node.js Logging](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-node-js-logging-winston-bunyan/)。 @@ -88,7 +88,7 @@ Node 應用程式一旦遇到未捕捉到的異常狀況,就會當機。如果 如需進一步瞭解錯誤處理的基本概念,請參閱: * [Error Handling in Node.js](https://www.tritondatacenter.com/node-js/production/design/errors) -* [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) +* [Building Robust Node Applications: Error Handling](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/robust-node-applications-error-handling/) (StrongLoop blog) #### 禁止事項 @@ -164,8 +164,8 @@ app.get('/', wrap(async (req, res, next) => { 如需使用 promise 來處理錯誤的相關資訊,請參閱: -* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) -* [Promises in Node.js with Q – An Alternative to Callbacks](https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) +* [Asynchronous Error Handling in Express with Promises, Generators and ES7](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/) +* [Promises in Node.js with Q – An Alternative to Callbacks](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/) diff --git a/zh-tw/advanced/best-practice-security.md b/zh-tw/advanced/best-practice-security.md index fb6689da6b..d1580982aa 100755 --- a/zh-tw/advanced/best-practice-security.md +++ b/zh-tw/advanced/best-practice-security.md @@ -149,7 +149,7 @@ app.use(session({ 以下是優異的 [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/) 所提供的進一步建議。如需這些建議的所有詳細資料,請參閱該部落格文章: -* 實作速率限制,以防對鑑別發動強制入侵攻擊。其中一個作法是使用 [StrongLoop API Gateway](https://strongloop.com/node-js/api-gateway/) 來施行速率限制原則。或者,您可以使用 [express-limiter](https://www.npmjs.com/package/express-limiter) 之類的中介軟體,但是如果這樣做,您需要稍微修改程式碼。 +* 實作速率限制,以防對鑑別發動強制入侵攻擊。其中一個作法是使用 [StrongLoop API Gateway](https://web.archive.org/web/20240000000000/https://strongloop.com/node-js/api-gateway/) 來施行速率限制原則。或者,您可以使用 [express-limiter](https://www.npmjs.com/package/express-limiter) 之類的中介軟體,但是如果這樣做,您需要稍微修改程式碼。 * 一律對使用者輸入進行過濾和消毒,來防範跨網站 Scripting (XSS) 和指令注入攻擊。 * 使用參數化查詢或備妥陳述式,來防禦 SQL 注入攻擊。 * 使用開放程式碼 [sqlmap](http://sqlmap.org/) 工具,來偵測您應用程式中的 SQL 注入漏洞。 diff --git a/zh-tw/guide/using-template-engines.md b/zh-tw/guide/using-template-engines.md index 71af3f489a..b77dcc9c03 100755 --- a/zh-tw/guide/using-template-engines.md +++ b/zh-tw/guide/using-template-engines.md @@ -14,7 +14,7 @@ description: Discover how to integrate and use template engines like Pug, Handle 部分主流的模板引擎 [Pug](https://pugjs.org/api/getting-started.html)、[Mustache](https://www.npmjs.com/package/mustache) 和 [EJS](https://www.npmjs.com/package/ejs) 均可被使用於 Express 中。[Express 應用程式產生器](http://expressjs.com/en/starter/generator.html)預設採用 [Jade](https://www.npmjs.com/package/jade),但也支援包含上述的多種模板引擎。 您可以參閱 [Express Wiki](https://github.com/expressjs/express/wiki#template-engines) 以得知在 Express 中可使用的模板引擎,亦可參閱這篇文章 -:[Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/)。 +:[Comparing JavaScript Templating Engines: Jade, Mustache, Dust and More](https://web.archive.org/web/20240000000000/https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/)。
**注意**:Jade 已改名為 [Pug](https://www.npmjs.com/package/pug)。您仍可繼續於應用程式中使用 Jade,它仍能良好運作。然而,若您想取得其最新的版本,則必須在應用程式中將其取代為 Pug。