Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
 
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
1

Это действительно код для защиты или это дыра?

17.02.2018, 09:47. Просмотров 456. Ответов 3
Метки нет (Все метки)


Всем привет! Один человек порекомендовал мне вставить код ниже, на мой сайт для защиты.
PHP
1
2
3
4
5
6
7
8
9
10
11
<?
if( !get_magic_quotes_gpc() ) {
foreach ($_POST as $key => $value) {
$_POST[$key] = addslashes($value);
}
 
foreach ($_GET as $key => $value) {
$_GET[$key] = addslashes($value);
}
}
?>
Это правда для защиты или наоборот для взлома?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2018, 09:47
Ответы с готовыми решениями:

Нашел подозрительный код. Это дыра или что?
Всем привет! В скрипте нашел подозрительный код: $url = isset($_POST) ? trim($_POST) : ''; Это...

DirectX 10 для Windows XP это миф или его действительно крякнули?
На пк стоит Windows XP (Пк не слабый, но по личным причинам должна стоять XP), нагуглил крякнутый...

Действительно ли женщины любят золото или это просто признак уважения к нам...
Действительно ли женщины любит золото или это просто признак уважения к нам...

Это толковый код для магического квадрата или нет?
Здравствуйте! Прошу помощи. Обсуждаем у себя https://www.cyberforum.ru/vba/thread1975864.html...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы Fullstack-разработчиков на PHP‌
3
Эксперт PHP
4399 / 3277 / 1067
Регистрация: 06.01.2011
Сообщений: 9,449
17.02.2018, 09:56 2
Для защиты. Но решение не лучшее. Используйте подготовленные запросы PDO и не надо будет придумывать таких сложностей.
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
17.02.2018, 10:09  [ТС] 3
Цитата Сообщение от Para bellum Посмотреть сообщение
Используйте подготовленные запросы PDO
Я еще новичок, поэтому не могли с примерами?
И код, что я написал, тоже годится? и был бы рад, если бы ответили что он конкретно делает(или запрещает делать)?
0
Эксперт PHP
4399 / 3277 / 1067
Регистрация: 06.01.2011
Сообщений: 9,449
17.02.2018, 10:57 4
Цитата Сообщение от Риназ Посмотреть сообщение
Я еще новичок
Поэтому настоятельно рекомендую обращаться к официальной документации PHP: php.net/manual
Вот сама функция addslashes: http://php.net/manual/ru/function.addslashes.php
Цитата Сообщение от Риназ Посмотреть сообщение
не могли с примерами?
Пожалуйста:
PHP
1
2
3
4
5
6
7
8
9
10
/* Получаем переменную ID из GET
 *УСЛОВНО. Напрямую к $_GET лучше не обращаться. Тем более, если ID не будет, выдаст Notice. Но сейчас не об этом
 */
$id = $_GET['id'];
 
$stmt = $db->prepare('select name, surname from users where id = :id');
$stmt->bindValue(':id', $id);
 
# Выполняем запрос
$stmt->execute();
Цитата Сообщение от Риназ Посмотреть сообщение
что он конкретно делает(или запрещает делать)?
Там происходит обход массива $_POST и изменение в нём значений с помощью экранирования некоторых символов (по ссылке выше они описаны).
Запустите такой скрипт:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
# Допустим, что это данные из $_POST
$data = [
    'name' => 'Имя"'
];
 
echo 'Это до:', PHP_EOL;
var_dump($data);
 
foreach ($data as $key => $value) {
    $data[$key] = addslashes($value);
}
 
echo 'Это после:', PHP_EOL;
var_dump($data);
И увидите отличие "До" от "После".

Добавлено через 1 минуту
В документации как раз написано:
Иногда функцию addslashes() некорректно пытаются использовать для предотвращения SQL-инъекций. Не делайте так. Вместо нее используйте подготовленные запросы или функции экранирования соответствующих расширений работы с базами данных.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2018, 10:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Уязвимость(дыра) в проге, это неправильно составленная логика проги?
Например, запросы в БД, а запросу оказывается ещё был случайно дан доступ к функции изменении......

Обход защиты Windows 7 или "А как мне это сделать?!"
Я хожу в институт. В институте есть камп, на нем стоит семерка. В моем пользователе активирован UAC...

Слетела видеокарта или "Это приложение заблокировано в целях защиты"
Привет анон! Такая беда случилась: не работало, значит, обновление видеокарты через интернет. После...

Что такое стандартная библиотека Си, это программный код или стандарт, набор правил для разработчиков?
В Википедии написано что это стандарт (то есть это не программный код, а правила по которым должен...

Действительно ли это девушка мечты?
SmBbagXNhqM

подскажите , пожалуйста, Отрезок [-pi/2,pi/2] это просто длина? чет я не понимаю куда это в код пихать
Постройте таблицу и вычислите сумму значений функции y=f(x) при 0.5&lt;y&lt;1.5 при изменении x на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.