register form draft #1

Merged
v0id1st merged 4 commits from feature/register-form into main 2025-09-21 23:45:38 +02:00
3 changed files with 87 additions and 0 deletions
Showing only changes of commit 51879a3591 - Show all commits

40
register.php Normal file
View File

@ -0,0 +1,40 @@
<?php
include 'header.php';
?>
Poniższy formularz trafi do naszych administratorów, którzy go ocenią. Potraktuj go częściowo jako antyspam. Chcemy sensownych odpowiedzi na poniższe pytania. Posiadanie własnej strony też jest na duży plus.
<form action="register_post.php" method="POST">
<div class="form-row">
<label>Email*</label>
<input name="email" type="email" required>
</div>
<div class="form-row">
<label>Nick*</label>
<input name="nick" type="string" min=3 max=20 required>
</div>
<div class="form-row">
<label>Strona WWW</label>
<input name="www">
</div>
<div class="form-row">
<label>Jak do nas trafiłeś?</label>
<select name="how" required>
<option selected></option>
<option>inny użytkownik tyldy</option>
<option>wyszukiwarka</option>
<option>tildeeverse.org</option>
<option>promocja w internecie</option>
</select>
</div>
<div class="form-row">
<label>Zainteresowania</label>
<textarea name="interests"></textarea>
</div>
<div class="form-row">
<label>Opowiedz coś na swój temat</label>
<textarea name="who" rows=8></textarea>
</div>
<div class="form-row">
<button type="submit">Submit</button>
</div>
</form>

20
register_post.php Normal file
View File

@ -0,0 +1,20 @@
<?php
include 'header.php';
?>
<article>
Hej <strong><?php $nick=$_POST["nick"]; printf("%s", "$nick"); ?></strong>!

tylko tu mamy XSS :D
dorzuciłbym htmlspecialchars() na $_POST['nick']

tylko tu mamy XSS :D dorzuciłbym htmlspecialchars() na $_POST['nick']

czy teraz jest OK?

czy teraz jest OK?
<br><br>
Otrzymaliśmy twój formularz rejestracji. Oczekuj na dalsze informacje na swojej skrzynce mailowej. :)
</article>
<?php
$nick=$_POST["nick"];
$to = 'smoorg@tylda.org';
$subject = 'Rejestracja usera' . "$nick";
$message = 'Nick' . $_POST["nick"] . "\n" . 'Email' . $_POST["email"]

Tu też XSS, klient maila może wykonać HTMLa. mało efektowny ale warto zawsze wrzucić escapechars

Tu też XSS, klient maila może wykonać HTMLa. mało efektowny ale warto zawsze wrzucić escapechars

teraz jest OK?

teraz jest OK?
;
$headers = 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>

View File

@ -113,3 +113,30 @@ pre.ascii {
font-family: monospace;
white-space: pre;
}
.form-row {
display: flex;
justify-content: flex-end;
padding: .5em;
}
.form-row > label {
padding: .5em 1em .5em 0;
flex: 1;
}
.form-row > input,
.form-row > select,
.form-row > textarea {
flex: 2;
padding: .5em
}
.form-row > button:hover {
background: var(--main);
}
.form-row > button {
padding: .5em;
background: var(--link);
color: white;
border: 0;
padding: 1rem;
}