Gedankenstriche durch Bindestriche ersetzt
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
375 Vorkommen in 210 Dateien. Betrifft Kommentare, Oberflaechentexte und die README; an keiner Stelle Bedeutung, nur Zeichensetzung.
This commit is contained in:
@@ -8,7 +8,7 @@ import { deliveryFileName } from '@/lib/files/delivery'
|
||||
* Die Typprüfung ist die Stelle, an der eine feindselige Datei auffallen muss.
|
||||
*
|
||||
* Geprüft wird deshalb nicht nur, dass die erlaubten Formate durchkommen,
|
||||
* sondern vor allem, dass die verbotenen es **nicht** tun — und zwar auch
|
||||
* sondern vor allem, dass die verbotenen es **nicht** tun - und zwar auch
|
||||
* dann, wenn sie sich als erlaubte ausgeben.
|
||||
*/
|
||||
|
||||
@@ -46,7 +46,7 @@ describe('Erkennung erlaubter Typen', () => {
|
||||
describe('Abwehr', () => {
|
||||
it('lehnt SVG ab, auch wenn es wie Text aussieht', () => {
|
||||
// Der eigentliche Grund für die ganze Kette: SVG führt im Browser Skripte
|
||||
// aus. Es ist gültiges UTF-8 und käme sonst als text/plain durch — das ist
|
||||
// aus. Es ist gültiges UTF-8 und käme sonst als text/plain durch - das ist
|
||||
// in Ordnung, denn als Text wird es nie gerendert, sondern ausgeliefert
|
||||
// mit Content-Disposition: attachment.
|
||||
const svg = text('<svg xmlns="http://www.w3.org/2000/svg"><script>alert(1)</script></svg>')
|
||||
@@ -129,7 +129,7 @@ describe('Ablagepfade', () => {
|
||||
|
||||
it('lässt keinen Pfad aus dem Dateiverzeichnis heraus', () => {
|
||||
process.env.FILES_DIR ??= '/tmp/afis-test-files'
|
||||
// Kommt aus der Datenbank, nicht aus einer Eingabe — aber ein
|
||||
// Kommt aus der Datenbank, nicht aus einer Eingabe - aber ein
|
||||
// Verzeichniswechsel wäre der teuerste Fehler an dieser Stelle.
|
||||
expect(() => absolutePath('../../etc/passwd')).toThrow()
|
||||
expect(() => absolutePath('store/../../../etc/passwd')).toThrow()
|
||||
|
||||
Reference in New Issue
Block a user