|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.04.2017, 13:06 | #1 |
Регистрация: 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-коде? Слышал про инъекции. Нужно же еще проверять значения на пустоту, да? Есть где-нибудь статьи по этой теме? Спасибо заранее. |
04.04.2017, 13:39 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Для изменения данных никогда не надо использовать GET, только POST, иначе могут возникнуть разные проблемы.
Например придет гугло-робот и добавит вам что-то, или случайный переход из истории браузера. Да, но это не 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. |
04.04.2017, 13:53 | #3 |
Регистрация: 05.12.2016
Сообщений: 7
|
А как это произойдет? Существование файла file.php скрыто от внешнего мира.
|
04.04.2017, 14:01 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну мало ли. Вдруг когда-то откроется или где-то кто-то вставит ссылку. Даже в скайп.
Просто нет причин не использовать POST )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
04.04.2017, 14:09 | #5 |
Регистрация: 05.12.2016
Сообщений: 7
|
А если Post, то запрос нужно как-то менять?
Я использую NetHTTPClient1.Get |
04.04.2017, 14:15 | #6 |
Старожил
Регистрация: 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
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перехват данных из 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 |