Советы по Mysql - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Tue, 24 Dec 2024 04:52:56 +0300Не помещай в БД данные без обработки. Это можно сделать либо с помощью подготовленных выражений, либо обрабатывай параметры вручную, а значит:<br>
- все числовые параметры должны быть приведены к нужному типу<br>
- все остальные параметры должны быть обработаны функцией mysql_real_escape_string() и заключены в кавычки, как уже сказали выше))
https://visavi.net/topics/40297/659628
Советы по Mysql egoistTue, 11 Mar 2014 02:38:40 +0400Сообщенияhttps://visavi.net/topics/40297/65962810. параноя? достаточно одного mysql_escape_string
https://visavi.net/topics/40297/659571
Советы по Mysql БогданMon, 10 Mar 2014 17:30:09 +0400Сообщенияhttps://visavi.net/topics/40297/659571mysql_escape_string(htmlspecialchars(stripslashes($ololo)))<br>
вот и все проблемы
https://visavi.net/topics/40297/659562
Советы по Mysql АлексейMon, 10 Mar 2014 16:24:58 +0400Сообщенияhttps://visavi.net/topics/40297/659562<blockquote class="blockquote"><strong>shilo</strong> (10 Марта 2014 / 12:47)<br>
5. <strong>Аварский</strong>, > пароль 8-12 символов<br>
не, ну это ппц</blockquote>
Для подбора облегчил
https://visavi.net/topics/40297/659555
Советы по Mysql YouMobeMon, 10 Mar 2014 16:03:45 +0400Сообщенияhttps://visavi.net/topics/40297/6595555. <strong>Аварский</strong>, > пароль 8-12 символов<br>
не, ну это ппц
https://visavi.net/topics/40297/659533
Советы по Mysql shiloMon, 10 Mar 2014 12:47:15 +0400Сообщенияhttps://visavi.net/topics/40297/659533<blockquote class="blockquote"><strong>Avrong</strong> (9 Марта 2014 / 15:05)<br>
5. <strong>Аварский</strong>, а если нужно больше символов? Например сбщ в лс?</blockquote>
Аварцы общаются коротко.<img src="https://visavi.net/uploads/stickers/D.gif" alt="D">
https://visavi.net/topics/40297/659502
Советы по Mysql YouMobeSun, 09 Mar 2014 16:34:41 +0400Сообщенияhttps://visavi.net/topics/40297/6595025. <strong>Аварский</strong>, а если нужно больше символов? Например сбщ в лс?
https://visavi.net/topics/40297/659495
Советы по Mysql ____________________Sun, 09 Mar 2014 15:05:07 +0400Сообщенияhttps://visavi.net/topics/40297/659495Не знаю как другие, но я так делаю. Например поля логин и пароль. Ограничиваю длину логина например на 12-13 символах, ну и пароль 8-12 символов. И при приеме данных просто проверяю длину строки, если длина строки больше, то посылаю по дальше. Ну и попробуйте теперь написать sql запрос с длиной не более 12 символов. ))
https://visavi.net/topics/40297/659489
Советы по Mysql АбдулаSun, 09 Mar 2014 13:17:41 +0400Сообщенияhttps://visavi.net/topics/40297/659489Попробую описать как я понимаю как обезопасить себя от SQL injection<br>
Понятно что если злоумышленник сможет выполнить SQL команды на сервере, ему достаточно будет узнать имя таблицы к примеру:<br>
DELETE<br>
FROM имя_таблицы;<br>
Допустим, что у вас есть таблица пользователей Users, состоящий из трех полей: 'id', 'name', 'password' Запрос на выборку данных может выглядеть так:<br>
SELECT * <br>
FROM Users<br>
WHERE id = $_GET[id]<br>
В данном запросе поле 'id' сравнивается со значением переменной.<br>
Если эта переменная получена как параметр сценария через URL или Cookie, и нет никаких проверок на запрещенные символы, то запрос уязвимый. <br>
Можно модифицировать запрос <br>
SELECT * <br>
FROM Users<br>
WHERE id = 10 OR name 'Администратор' <br>
Чтобы этого не произошло, в таком случаю нужно точно представлять какие данные хранятся в таблице, и позволят передавать в качестве параметра те данные, которые разрешены. Например поле 'id' - это числовое поле, а значит в переменной кроме цифр 0-9 ничего не должно передаваться. <br>
вот к примеру создай файл<br>
<pre class="prettyprint">
<form action="" method="GET">
<input name="id">
</form>
<?php
$id = (int)$_GET['id'];
print('SELECT * FROM Users WHERE id='.$id)
?>
</pre>
Таким же способом можно и строку обработать, а можно и через регулярные выражения сделать.<br>
у PHP есть ряд функции<br>
- Экранирование mysql_real_escape_string<br>
<br>
Через SQL запросы можно получить доступ к файловой системе <br>
Например, такой код который сохраняет в PHP файле сценарий:<br>
SELECT '<?php system('параметр') ?>' INTO OUTFILE 'shell.php'<br>
Тут могут вытекать разные последствия
https://visavi.net/topics/40297/659485
Советы по Mysql YouMobeSun, 09 Mar 2014 11:57:17 +0400Сообщенияhttps://visavi.net/topics/40297/659485B коде можете указать, как выглядет до и после?
https://visavi.net/topics/40297/659465
Советы по Mysql АртурSun, 09 Mar 2014 05:19:07 +0400Сообщенияhttps://visavi.net/topics/40297/659465Изначально фильтрировать все входящие данные перед записью в бд, mysql_real_escape_string() и htmlspecialchars() будет достаточно)
https://visavi.net/topics/40297/659464
Советы по Mysql АлексейSun, 09 Mar 2014 04:10:17 +0400Сообщенияhttps://visavi.net/topics/40297/659464Не раз встречал посты с ругательствами на SQL иньекции. Что это такое, как предотвратить это и напишите разные советы по обеспечению безопасности с Mysql.
https://visavi.net/topics/40297/659461
Советы по Mysql ____________________Sat, 08 Mar 2014 23:52:10 +0400Сообщенияhttps://visavi.net/topics/40297/659461