Repository navigation
Expand file tree
/
Copy pathindex.php
More file actions
74 lines (72 loc) · 3.86 KB
/
Copy pathindex.php
File metadata and controls
74 lines (72 loc) · 3.86 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
<?php declare(strict_types=1); header('Content-Type: text/html; charset=utf-8'); ?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WapuuGotchi Security API</title>
<style>
:root { color-scheme: light; --bg: #f4f1ea; --panel: #fffdf8; --text: #1f1a14; --muted: #6c6257; --accent: #a64b2a; --border: #ded4c6; --code: #f0e7da; }
* { box-sizing: border-box; }
body { margin: 0; font-family: Georgia, "Times New Roman", serif; background: radial-gradient(circle at top left, rgba(166,75,42,.12), transparent 28%), linear-gradient(180deg,#f8f4ec 0%,var(--bg) 100%); color: var(--text); }
main { max-width: 900px; margin: 0 auto; padding: 48px 20px 64px; display: grid; gap: 24px; }
.panel { background: var(--panel); border: 1px solid var(--border); border-radius: 18px; padding: 28px; box-shadow: 0 16px 40px rgba(31,26,20,.08); }
h1 { margin: 0 0 8px; font-size: clamp(2rem,5vw,3.5rem); line-height: 1; letter-spacing: -.04em; }
h2 { margin: 0 0 12px; font-size: 1.4rem; }
p { margin: 0 0 14px; line-height: 1.6; color: var(--muted); font-size: 1.05rem; }
.badge { display: inline-block; margin-bottom: 14px; padding: 6px 10px; border-radius: 999px; background: rgba(166,75,42,.1); color: var(--accent); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
code, pre { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; font-size: .9rem; }
pre { margin: 10px 0 0; padding: 14px; overflow-x: auto; border-radius: 12px; border: 1px solid var(--border); background: var(--code); }
.grid { display: grid; gap: 16px; margin-top: 18px; }
.stack { display: grid; gap: 8px; }
a { color: var(--accent); }
</style>
</head>
<body>
<main>
<div>
<div class="badge">IONOS PHP API</div>
<h1>WapuuGotchi Security API</h1>
<p>Zwei Dienste — Plugin-Schwachstellen und kompromittierte Passwörter. Beide MIT-lizenziert und open source.</p>
</div>
<section class="panel">
<h2>Plugin Vulnerability Check</h2>
<p>Prueft WordPress-Plugins gegen bekannte Schwachstellen. Ergebnisse werden 15 Minuten gecacht.</p>
<div class="grid">
<div class="stack">
<strong>Single</strong>
<pre><code>GET /api/vulns.php?slug=woocommerce&version=6.5.0</code></pre>
</div>
<div class="stack">
<strong>Batch</strong>
<pre><code>GET /api/vulns-batch.php?plugins=[{"slug":"woocommerce","version":"6.5.0"}]</code></pre>
</div>
<div class="stack">
<strong>Antwort</strong>
<pre><code>{ "pluginSlug": "woocommerce", "checkedVersionHasKnownVulnerabilities": true, "checkedVersionSeverity": "high", ... }</code></pre>
</div>
</div>
</section>
<section class="panel">
<h2>Password Breach Check</h2>
<p>Relay zur HaveIBeenPwned-API mit k-Anonymity. Das Plugin bildet lokal den SHA-1-Hash des Passworts und sendet nur die ersten 5 Zeichen — das Passwort verlässt das Geraet nie.</p>
<div class="grid">
<div class="stack">
<strong>Endpoint</strong>
<pre><code>GET /api/check.php?prefix=5BAA6</code></pre>
</div>
<div class="stack">
<strong>Antwort</strong>
<pre><code>1E4C9B93F3F0682250B6CF8331B7EE68FD8:3861493
0018A45C4D1DEF81644B54AB7F969B88D65:1
...</code></pre>
</div>
<div class="stack">
<strong>Hinweis</strong>
<pre><code>Das Plugin prüft lokal ob der eigene Suffix in der Liste enthalten ist.</code></pre>
</div>
</div>
</section>
</main>
</body>
</html>