Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2017, 13:06   #1
BelkinBelkin
 
Регистрация: 05.12.2016
Сообщений: 7
Лампочка PHP и подводные камни

Здравствуйте!
Я новичок в PHP, знаю только синтаксис языка и ряд функций. Нет продолжительного опыта, поэтому не знаю про подводные камни.

Из программы на Delphi я отправляю своему серверу методом Get ссылку (...file.php?method=setGame&user_id =' + Edit1.Text + '&value=' + Edit2.Text и т.д.)

На стороне сервера мой php-файл (file.php) обрабатывает это:

if ($_GET["method"] == 'setGame') {
$userid = $_GET['user_id'];
$value = $_GET['value'];
и т.д.

Потом помещаю данные в MySQL.

Вопрос собственной вот какой. Какие меры безопасности нужно использовать в php-коде? Слышал про инъекции. Нужно же еще проверять значения на пустоту, да?
Есть где-нибудь статьи по этой теме?

Спасибо заранее.
BelkinBelkin вне форума Ответить с цитированием
Старый 04.04.2017, 13:39   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Для изменения данных никогда не надо использовать GET, только POST, иначе могут возникнуть разные проблемы.
Например придет гугло-робот и добавит вам что-то, или случайный переход из истории браузера.
Цитата:
Сообщение от BelkinBelkin Посмотреть сообщение
Нужно же еще проверять значения на пустоту, да?
Да, но это не SQL инъекции.
SQL инъекции это например когда приходит человек с именем Vasya'); DROP TABLE users

Есть функции для экранирования типа addslashes (или mysql_escape_string? или mysql_real_escape_string? ), но лучше использовать prepared statement в PDO или mysqli_*
https://en.wikipedia.org/wiki/Prepar...tement#PHP_PDO

www.phptherightway.com/#databases / http://getjump.me/ru-php-the-right-w...BD%D1%8B%D1%85
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 04.04.2017 в 13:41.
Alex11223 вне форума Ответить с цитированием
Старый 04.04.2017, 13:53   #3
BelkinBelkin
 
Регистрация: 05.12.2016
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Для изменения данных никогда не надо использовать GET, только POST, иначе могут возникнуть разные проблемы.
Например придет гугло-робот и добавит вам что-то, или случайный переход из истории браузера.
А как это произойдет? Существование файла file.php скрыто от внешнего мира.
BelkinBelkin вне форума Ответить с цитированием
Старый 04.04.2017, 14:01   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну мало ли. Вдруг когда-то откроется или где-то кто-то вставит ссылку. Даже в скайп.

Просто нет причин не использовать POST )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.04.2017, 14:09   #5
BelkinBelkin
 
Регистрация: 05.12.2016
Сообщений: 7
По умолчанию

А если Post, то запрос нужно как-то менять?

Я использую
NetHTTPClient1.Get
BelkinBelkin вне форума Ответить с цитированием
Старый 04.04.2017, 14:15   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да. URL просто ......file.php, а данные в теле.

Indy или какой клиент?

http://stackoverflow.com/a/302061/964478
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват данных из span id и вывод средствами php на сайте - PHP nikolokaputik80 PHP 2 04.05.2016 10:52
Помогите написать программу (два игрока берут камни из кучки камней. - за один ход игрок может забрать из кучи от 1 до 6 камней nazerke123 Общие вопросы C/C++ 14 29.09.2015 13:18
Наследование. Подводные камни. Last Общие вопросы C/C++ 4 28.06.2012 20:59
TopServer(PHP+MySQL+Apache+/etc), и обновление компонентов(в основном PHP) Пепел Феникса Софт 2 05.11.2011 14:38
Подводные камни в операции += jojahti Общие вопросы C/C++ 5 27.08.2009 21:44