Cześć, podpytałem ChatGPT jak zabezpieczyć dane z formularza i wypluł mi takie coś:
function sanitizeFormData($formData) { // Trim whitespace from all form fields foreach ($formData as $key => $value) { $formData[$key] = http://www.php.net/trim($value); } // Prevent XSS attacks by escaping HTML entities foreach ($formData as $key => $value) { $formData[$key] = http://www.php.net/htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); } // Prevent SQL injection by escaping special characters $filteredData = http://www.php.net/array(); foreach ($formData as $key => $value) { $filteredData[$key] = mysqli_real_escape_string($your_db_connection, $value); } return $filteredData; }
po raz jedenasty: htmlspecialchars uzywa sie przed wyswietlaniem, anie po pobraniu z forma.
do wkladania do bazy uzywa sie BINDowania
i nie sanitanizuje sie wszystkich danych z forma jak leci, tylko jak trzeba, w zaleznosci co sie z nimi bedzie robilo. Pisanie takich uniwersalnych potworkoch bardzo szybko sie msci
Tu jest to czego potrzebujesz do odbierania danych z formularzy: https://www.php.net/manual/en/book.filter.php
A w szczególności zerknij na: https://www.php.net/manual/en/function.filter-input.php i https://www.php.net/manual/en/function.filter-var.php
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)