Bernd Wurst commited on 2017-02-18 18:02:07
Zeige 2 geänderte Dateien mit 8 Einfügungen und 6 Löschungen.
... | ... |
@@ -186,10 +186,11 @@ function output($arg) |
186 | 186 |
} |
187 | 187 |
|
188 | 188 |
|
189 |
-function random_string($nc, $a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') { |
|
190 |
- $l=strlen($a)-1; $r=''; |
|
191 |
- while($nc-->0) $r.=$a{mt_rand(0,$l)}; |
|
192 |
- return $r; |
|
189 |
+function random_string($num) |
|
190 |
+{ |
|
191 |
+ // Durch base64 wird der String länger, daher geben wir nur einen Substring zurück. |
|
192 |
+ $data = base64_encode(random_bytes($num)); |
|
193 |
+ return substr($data, 0, $num); |
|
193 | 194 |
} |
194 | 195 |
|
195 | 196 |
|
... | ... |
@@ -240,8 +241,9 @@ function generate_form_token($form_id) |
240 | 241 |
DEBUG("Uh? Session not running? Wtf?"); |
241 | 242 |
system_failure("Internal error!"); |
242 | 243 |
} |
243 |
- if (! isset($_SESSION['session_token'])) |
|
244 |
+ if (! isset($_SESSION['session_token'])) { |
|
244 | 245 |
$_SESSION['session_token'] = random_string(10); |
246 |
+ } |
|
245 | 247 |
return hash('sha256', $sessid.$form_id.$_SESSION['session_token']); |
246 | 248 |
} |
247 | 249 |
|
... | ... |
@@ -135,7 +135,7 @@ output('</table>'); |
135 | 135 |
|
136 | 136 |
output('<p>Wir behalten uns vor, diese Rechnungsposten mit anderen sinngleichen Posten zusammen zu führen.</p>'); |
137 | 137 |
|
138 |
-$handle = bin2hex(random_bytes(10)); |
|
138 |
+$handle = random_string(10); |
|
139 | 139 |
|
140 | 140 |
$_SESSION['more_storage_handle'] = $handle; |
141 | 141 |
$_SESSION['more_storage_items'] = $items; |
142 | 142 |