200-901 Application Deployment and Security Practice Question
A developer writes a web application that accepts user input and displays it on a page. To prevent cross-site scripting (XSS), what is the most effective defense?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Implement output encoding when rendering user input in HTML.
Output encoding converts special characters (e.g., < >) to HTML entities, so the browser does not interpret them as code. Input validation alone is insufficient for XSS.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Implement output encoding when rendering user input in HTML.
Why this is correct
Output encoding converts user-supplied characters into safe HTML entities before rendering, so injected script tags are displayed as text rather than executed. This directly neutralises the stored or reflected XSS vector described in the stem.
- ✗
Use parameterized queries for all database access.
Why it's wrong here
Parameterised queries separate SQL code from data, defending against SQL injection, not XSS, which executes in the browser. They are the correct control when untrusted input reaches a database query; XSS instead requires context-aware output encoding of user input before it is rendered.
- ✗
Store user input in a secure cookie.
Why it's wrong here
A secure cookie flag protects the cookie's transport and access, not the page content, so injected script still executes when the input is displayed. Secure cookies are the right control for session tokens; XSS prevention requires output encoding of user-supplied data at the point of rendering.
- ✗
Disable JavaScript in the browser.
Why it's wrong here
Disabling JavaScript removes the execution vector only for that user's browser, leaving other visitors and stored XSS payloads unaffected, and it breaks legitimate functionality. It is a client-side hardening measure, whereas the server must encode output so injected markup is rendered as inert text.
Go deeper
Related to this question
About these practice questions
This 200-901 question is part of Courseiva's 975-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.