Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Content Security Policy 101 - Lightning Talk
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Christoph Rumpel
April 24, 2018
Technology
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Content Security Policy 101 - Lightning Talk
This is a 5min talk version of Content Security Policy 101 talk.
Christoph Rumpel
April 24, 2018
More Decks by Christoph Rumpel
See All by Christoph Rumpel
How To Manage 5000+ Tests Efficiently
christophrumpel
0
150
Christoph Dreams Of Simple Code (Laravel Vienna Meetup)
christophrumpel
0
210
Why Refactoring Is The Best Tool To Write Better Code
christophrumpel
0
620
Debugging with PhpStorm & XDebug
christophrumpel
0
320
The final Laravel Service Container talk (Laracon Online)
christophrumpel
1
850
NomadPHP - The Laravel Core - Demystify The Beast
christophrumpel
0
180
Laravel Factories Reloaded (Laracon Online)
christophrumpel
1
360
The Beauty of Laravel's Notification System (Laracon EU Amsterdam)
christophrumpel
0
290
The Laravel Core - Demystify The Beast (New York)
christophrumpel
0
250
Other Decks in Technology
See All in Technology
シンプルな設定ファイルで実現する AWS IAM Identity Center の ユーザー管理Terraformフレームワークを公開しました / Simplifying AWS IAM Identity Center User Management: An Open-Source Terraform Framework
yamaguchitk333
0
320
Codex を使った障害対応机上演習の実際
orgachem
PRO
0
360
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
160
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
230
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
280
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
210
野良MCPサーバーを排除せよ!MCPサーバーのガバナンス
yukiogawa
1
240
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
320
自宅サーバと脆弱性
masakiokuda
1
120
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
300
How we choose session proposals
kawaguti
PRO
0
170
Teaching Python with three kinds of AI
reuven
0
120
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
920
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
900
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
850
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
Discover your Explorer Soul
emna__ayadi
2
1.3k
ラッコキーワード サービス紹介資料
rakko
4
5.5M
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
740
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Transcript
Hello webclerks :)
Content Security Policy 101
Content Security Policy 101 Can Christoph do 40 slides in
5 minutes?
ABOUT ME
CHRISTOPH RUMPEL Web Developer PHP / Laravel Chatbots Talks @christophrumpel
christoph-rumpel.com
SECURITY IS HARD
SSL Input Handling Updates Packages Extension CSRF NONCES Weak Typing
Error Handling Storing Credentials Server Access SQL Prepared Statements Passwords Brute Force Attacks
Adobe Playstation Network Cloudflare FAMOUS LEAKS
How can we protect our sites when even big companies
can't?
Step by step
CONTENT SECURITY POLICY
CSP lets you define trusted resources.
Content-Security-Policy: policies
Content-Security-Policy: img-src *; script-src 'self'; Policies EXAMPLE
img-src *; script-src 'self'; DIRECTIVES
img-src *; script-src 'self'; LOCATIONS
img-src *; script-src 'self'; TRANSLATED Images are allowed to be
loaded from any resource
img-src *; script-src 'self'; TRANSLATED Scripts are allowed to be
loaded from the current site's origin only
img-src script-src DIRECTIVES
img-src script-src style-src font-src media-src form-action ...
* 'self' LOCATIONS
* 'self' domain.example.com *.example.com 'none' ...
CSP christoph-rumpel.com
BROWSER SUPPORT
BROWSER SUPPORT
INTEGRATIONS
SERVER CONFIGURATION Apache
SERVER CONFIGURATION Nginx
LARAVEL MIDDLEWARE
WP Content Security Policy Plugin - Screenshot Policies PLUGINS
MUCH MORE
HASHES AND NONCES
REPORTING
Content Security Policy 101 Laravel Response Caching And CSP CSP,
Hash-Algorithm, and Turbolinks Quick CSP Reference Guide MDN web docs CSP Level 2 W3C Recommendation CSP Level 3 Working Draft RESOURCES
THANKS
QUESTIONS?
THANKS AGAIN