Bird
Raised Fist0
Denoframework~5 mins

Why Deno is secure by default

Choose your learning style10 modes available
Introduction

Deno keeps your computer safe by not allowing programs to do risky things unless you say it's okay.

When running new or untrusted code from the internet
When you want to control what files or network your program can access
When building secure applications that handle sensitive data
When testing code that should not affect your system without permission
Syntax
Deno
deno run [--allow-read] [--allow-net] script.ts

You add flags like --allow-read to let your program read files.

Without flags, Deno blocks access to files, network, environment, and more.

Examples
This runs the script with no permissions. It cannot read files or access the internet.
Deno
deno run script.ts
This lets the script read files but still blocks network access.
Deno
deno run --allow-read script.ts
This lets the script access the internet but not read files.
Deno
deno run --allow-net script.ts
This gives the script permission to read files and use the network.
Deno
deno run --allow-read --allow-net script.ts
Sample Program

This program prints a greeting, then tries to read a file called example.txt. Without permission, it will show an error.

Deno
console.log('Hello from Deno!');

// Try reading a file without permission
try {
  const data = await Deno.readTextFile('example.txt');
  console.log('File content:', data);
} catch (error) {
  console.log('Error:', error.message);
}
OutputSuccess
Important Notes

Deno asks for permissions only when needed, making it safer than some other runtimes.

You can give permissions permanently or just for one run using flags.

This security model helps prevent accidental or harmful actions by code.

Summary

Deno blocks risky actions by default to keep your system safe.

You must explicitly allow permissions like file or network access.

This makes running code safer, especially from unknown sources.

Practice

(1/5)
1. Why does Deno block file and network access by default?
easy
A. To protect your computer from harmful or unknown code
B. Because it does not support file or network operations
C. To make programs run faster
D. Because it only runs in offline mode

Solution

  1. Step 1: Understand Deno's security design

    Deno is designed to be secure by default to protect users from running unsafe code.
  2. Step 2: Reason about default blocking

    Blocking file and network access prevents malicious code from harming your system without permission.
  3. Final Answer:

    To protect your computer from harmful or unknown code -> Option A
  4. Quick Check:

    Security by default = Protect computer [OK]
Hint: Deno blocks risky actions to keep your system safe [OK]
Common Mistakes:
  • Thinking Deno lacks file/network features
  • Assuming blocking improves speed
  • Believing Deno runs only offline
2. Which command correctly runs a Deno script with permission to read files?
easy
A. deno run --allow-file script.ts
B. deno run --allow-read script.ts
C. deno run --read script.ts
D. deno run --file-access script.ts

Solution

  1. Step 1: Recall Deno permission flags

    Deno uses flags like --allow-read to grant file read access explicitly.
  2. Step 2: Identify correct syntax

    Only --allow-read is the valid flag to allow reading files in Deno.
  3. Final Answer:

    deno run --allow-read script.ts -> Option B
  4. Quick Check:

    File read permission flag = --allow-read [OK]
Hint: Use --allow-read to permit file reading in Deno [OK]
Common Mistakes:
  • Using incorrect flags like --read or --allow-file
  • Forgetting to add permission flags
  • Confusing permission flag names
3. What will happen if you run this Deno script without any permission flags?
console.log(Deno.readTextFileSync("data.txt"));
medium
A. It prints the contents of data.txt
B. It runs without any output
C. It creates data.txt if missing
D. It throws a permission error

Solution

  1. Step 1: Understand default permissions

    Deno blocks file reading unless --allow-read is given.
  2. Step 2: Predict script behavior without permissions

    Trying to read a file without permission causes a runtime permission error.
  3. Final Answer:

    It throws a permission error -> Option D
  4. Quick Check:

    No permission = permission error [OK]
Hint: No --allow-read means file read causes error [OK]
Common Mistakes:
  • Assuming file reads succeed without permission
  • Thinking file is created automatically
  • Expecting silent failure without error
4. You run this command but get a permission error:
deno run script.ts
How do you fix it to allow network access?
medium
A. No fix needed, network is allowed by default
B. Add --allow-network flag to the command
C. Add --allow-net flag to the command
D. Add --net-access flag to the command

Solution

  1. Step 1: Identify correct network permission flag

    Deno requires --allow-net to permit network access explicitly.
  2. Step 2: Correct the command

    Adding --allow-net fixes the permission error for network operations.
  3. Final Answer:

    Add --allow-net flag to the command -> Option C
  4. Quick Check:

    Network permission flag = --allow-net [OK]
Hint: Use --allow-net to enable network access in Deno [OK]
Common Mistakes:
  • Using wrong flag like --allow-network or --net-access
  • Assuming network is allowed by default
  • Not adding any permission flag
5. You want to run a Deno script that reads a file and makes a network request. Which command grants the minimum permissions needed?
hard
A. deno run --allow-read --allow-net script.ts
B. deno run --allow-all script.ts
C. deno run --allow-write --allow-net script.ts
D. deno run --allow-read script.ts

Solution

  1. Step 1: Identify required permissions

    Reading a file needs --allow-read; network requests need --allow-net.
  2. Step 2: Choose minimal permissions

    --allow-read and --allow-net together grant only needed access, no extras.
  3. Step 3: Eliminate incorrect options

    --allow-all grants too much; --allow-write is unnecessary; --allow-read alone misses network.
  4. Final Answer:

    deno run --allow-read --allow-net script.ts -> Option A
  5. Quick Check:

    Minimal needed permissions = --allow-read + --allow-net [OK]
Hint: Grant only needed permissions: read + net for this script [OK]
Common Mistakes:
  • Using --allow-all when minimal is better
  • Confusing --allow-write with --allow-read
  • Forgetting network permission
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard