-
Notifications
You must be signed in to change notification settings - Fork 0
/
upload.php
67 lines (59 loc) · 2.15 KB
/
upload.php
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
<?php
// Include the function file.
require 'function.php';
// Variables
$key = ""; // Prepare 'key' variable.
$i = 0; // Prepare 'i' for the while.
$charactersAllowed = ''; // Prepare the characters allowed variable.
$lengthMax = 0; // Prepare the length max variable.
$length = $_POST['length']; // Get length choose by user.
/** All Errors :
*
* ERR_NO_MINIMUM -> No length set
* ERR_MINIMUM_NULL -> Length is null
*/
?>
<?php
/** Verification */
echo 'GenreNum : ' . $_POST['genreNum'] . '<br />';
echo 'GenreMin : ' . $_POST['genreMin'] . '<br />';
echo 'GenreMaj : ' . $_POST['genreMaj'] . '<br />';
echo 'GenreSpe : ' . $_POST['genreSpe'] . '<br />';
echo 'Length : ' . $_POST['length'] . '<br />';
echo 'MultiCharacter : ' . $_POST['multiCharacter'] . '<br /><br /><br />';
if($_POST['genreNum']) {
$charactersAllowed .= '1234567890';
}
if($_POST['genreMin']) {
$charactersAllowed .= 'abcdefghijklmnopqrstuvwxyz';
}
if($_POST['genreMaj']) {
$charactersAllowed .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
}
if($_POST['genreSpe']) {
$charactersAllowed .= '@€*-+()!"\':;/?~`|•√π÷×{}£¥$°^_=[]™®©¶<>'; // #, &, % can't be used with URL.
}
if($charactersAllowed == '') {
header('Location: index.php?lang=' . $_POST['lang'] . '&error=ERR_NO_GENRE');
}
else if($length == '') {
header('Location: index.php?lang=' . $_POST['lang'] . '&error=ERR_NO_LENGTH');
}
else if($length == 0) {
header('Location: index.php?lang=' . $_POST['lang'] . '&error=ERR_LENGTH_NULL');
}
else {
$lengthMax = strlen($charactersAllowed); // Find how many character is allowed.
if($length > $lengthMax AND !$_POST['multiCharacter']) { // If the desired length is too long and multi character is disabled...
$length = $lengthMax; // Set the length to the length max.
}
while($i < $length) {
$randomCharacter = substr($charactersAllowed, mt_rand(0, $lengthMax-1), 1);
if($_POST['multiCharacter'] OR !strstr($key, $randomCharacter)) { // If the character is not already in the key or if multi character is enabled...
$key .= $randomCharacter; // Add the character in the key
$i++; // Add 1 to the counter
}
}
header('Location: index.php?lang=' . $_POST['lang'] . '&key=' . $key);
}
?>