Repository navigation
Expand file tree
/
Copy pathskeleton.html
More file actions
125 lines (116 loc) · 9.63 KB
/
Copy pathskeleton.html
File metadata and controls
125 lines (116 loc) · 9.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="OWASP security testing page with multiple library dependencies for testing and educational purposes.">
<meta name="theme-color" content="#0969da">
<meta name="color-scheme" content="light dark">
<link rel="canonical" href="https://inputdrivesecurity.us/skeleton.html">
<link rel="icon" href="/assets/logo.svg" type="image/svg+xml">
<title>OWASP Top 25 Skeleton Page</title>
<link rel="stylesheet" href="/stylesheet.css">
<meta name="robots" content="noindex">
</head>
<body>
<a href="#main-content" class="skip-link">Skip to main content</a>
<header class="site-header">
<div class="header-inner">
<a href="/" class="brand" aria-label="Input Drive Security home">
<img src="/assets/logo.svg" alt="" width="36" height="36" class="brand-logo">
<span class="brand-text">
<strong>Input Drive Security</strong>
<span class="brand-tag">Independent consulting</span>
</span>
</a>
<nav class="main-nav" aria-label="Primary">
<a href="/" data-nav="home">Home</a>
<a href="/services.html" data-nav="services">Services</a>
<a href="/about.html" data-nav="about">About</a>
<a href="/tools.html" data-nav="tools">Tools</a>
<a href="/contact.html" data-nav="contact" class="nav-cta">Contact</a>
</nav>
<div class="header-actions">
<a class="header-wa" href="https://wa.me/19047705355" target="_blank" rel="noopener noreferrer">
<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M20.52 3.48A11.86 11.86 0 0012.06 0C5.5 0 .16 5.33.16 11.9c0 2.1.55 4.15 1.6 5.96L0 24l6.3-1.65a11.9 11.9 0 005.75 1.47h.01c6.56 0 11.9-5.34 11.9-11.91 0-3.18-1.24-6.17-3.44-8.43zM12.06 21.8h-.01a9.9 9.9 0 01-5.04-1.38l-.36-.21-3.74.98 1-3.64-.24-.37a9.86 9.86 0 01-1.51-5.28c0-5.45 4.44-9.88 9.9-9.88 2.64 0 5.13 1.03 7 2.9a9.83 9.83 0 012.9 6.98c0 5.45-4.44 9.9-9.9 9.9zm5.43-7.4c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48a8.97 8.97 0 01-1.66-2.06c-.17-.3 0-.46.13-.6.13-.13.3-.35.44-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.5h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.22 3.08c.15.2 2.1 3.2 5.08 4.48.71.3 1.26.49 1.69.62.71.23 1.36.2 1.87.12.57-.09 1.76-.72 2.01-1.41.25-.7.25-1.29.17-1.41-.07-.13-.27-.2-.57-.35z"/></svg>
<span>WhatsApp</span>
</a>
<button id="themeToggle" class="theme-toggle" aria-pressed="false" aria-label="Toggle light and dark mode">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z" /></svg>
</button>
</div>
</div>
</header>
<main id="main-content" role="main" class="content-shell">
<p>This page loads many libraries for testing. Consider reducing third-party dependencies where possible.</p>
<!-- NOTE: This page is a testbed that intentionally loads multiple third-party libraries for demonstration and testing purposes. -->
<!-- For production: remove unused libraries, add SRI, or self-host critical libraries. -->
<!-- Visible manifest of loaded scripts (auto-populated) -->
<section aria-labelledby="libs" class="section-spaced">
<h2 id="libs">Third-party scripts used on this page</h2>
<details>
<summary>Show script URLs</summary>
<ul id="scriptList" class="script-list"></ul>
</details>
</section>
<!-- Consolidated jQuery: keep one current version (3.7.1) with SRI and crossorigin -->
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-qFOQ9YFAeGj1gDOuUD61g3D+tLDv3u1ECYWqT82WQoaWrOhAY+5mRMTTVsQdWutbA5FORCnkEPEgU0OF8IzGvA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.4/axios.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/validator/13.6.0/validator.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/sanitize-html/2.4.0/sanitize-html.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.2.1/js.cookie.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/secure-random/0.2.1/secure-random.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-password-strength-test/1.3.0/owasp-password-strength-test.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-samurai/1.0.0/owasp-samurai.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-encoder/1.2.2/owasp-encoder.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-mvc-security/1.0.0/owasp-mvc-security.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-esapi-js/2.2.0/owasp-esapi.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-antisamy/1.6.5/owasp-antisamy.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-csrfguard/4.0.0/owasp-csrfguard.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-headers/1.0.0/owasp-headers.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-logger/1.0.0/owasp-logger.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-java-html-sanitizer/20191001.1/owasp-java-html-sanitizer.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/owasp-java-encoder/1.2.2/owasp-java-encoder.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.3/js/bootstrap.min.js" integrity="sha512-ykZ1QQr0Jy/4ZkvKuqWn4iF3lqPZyij9iRv6sGqLRdTPkY69YX6+7wvVGmsdBbiIfN/8OdsI7HABjvEok6ZopQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<!-- Script that auto-populates the script manifest list above -->
<script>
document.addEventListener('DOMContentLoaded', function () {
const ul = document.getElementById('scriptList');
Array.from(document.querySelectorAll('script[src]')).forEach(s => {
const li = document.createElement('li');
const src = s.getAttribute('src');
const hasSRI = s.hasAttribute('integrity');
li.innerHTML = `<a href="${src}" target="_blank" rel="noopener noreferrer">${src}</a>${hasSRI ? ' <span class="sri-badge">(SRI)</span>' : ''}`;
ul.appendChild(li);
});
// Also log a compact table to console for developers
console.table(Array.from(document.querySelectorAll('script')).map(s => ({src: s.src || '[inline]', async: s.async, defer: s.defer, integrity: s.getAttribute('integrity') || ''})));
});
</script>
<p id="lastModified"><time id="lastModifiedTime" datetime=""></time></p>
<div id="map"></div>
<p><a href="/tools.html">Back to tools</a></p>
</main>
<footer class="site-footer">
<div class="footer-inner">
<p>© 2026 Greg Gutman · Input Drive Security</p>
<p class="footer-links">
<a href="mailto:info@inputdrivesecurity.us">info@inputdrivesecurity.us</a>
·
<a href="https://wa.me/19047705355">WhatsApp</a>
·
<a href="https://linkedin.com/in/greggutman/">LinkedIn</a>
·
<a href="/inputdrive">GitHub</a>
</p>
<p class="small">Canonical site: inputdrivesecurity.us. Independent security consulting by Greg Gutman.</p>
</div>
</footer>
<script src="/scripts/theme.js" defer></script>
<script src="/scripts/last-modified.js" defer></script>
</body>
</html>