Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391

Post и get к одному php скрипту

07.08.2017, 15:31. Показов 1690. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть php скрипт который осуществляет поиск в sql. текстовое поле и кнопка.
PHP
1
if (isset($_POST["Submit"])) {
а как к нему подключить еще и GET?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.08.2017, 15:31
Ответы с готовыми решениями:

POST запрос к скрипту PHP
Здравствуйте. Подскажите, как составить POST запрос к серверу на PHP, чтоб он был таким, как у обычной формы такого типа: <!DOCTYPE...

Как передать данные через POST из php другому скрипту
Как передать данные через POST из php другому скрипт?

Отправка POST запроса php скрипту при выборе элемента
Есть форма, что то типо: <form> <form action="" id="myform"> <input type="text" name="mydata" id="mydata" /> <input...

42
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
07.08.2017, 23:02  [ТС]
Студворк — интернет-сервис помощи студентам
Igsit, а как нужно?
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
07.08.2017, 23:32
Цитата Сообщение от iopq Посмотреть сообщение
а как нужно?
почитайте про sql-инъекции, есть много способов борьбы с ними, если в 2 словах то нужно проверять вводимые данные и делать фильтрацию, чтобы не ввели различные управляющие последовательности, т.е. чтобы в SQL запрос попадали только данные нужного типа
0
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 00:54  [ТС]
Igsit, почитал. у меня вышеприведенный код вставлен в страницу вордпресса. и никаких инъекций я добиться не могу. вордпресс переводит запрос ?data=1 UNION SELECT 1 в такой формат /?data=1%20UNION%20SELECT%201
а на странице вижу -
PHP
1
Данные не найдены
Добавлено через 9 минут
а вот если я вставляю этот же код в php файл то действительно получаю ошибку при не корректном запросе - Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

можно ли считать это безопасным?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
08.08.2017, 01:12
Цитата Сообщение от iopq Посмотреть сообщение
вордпресс переводит запрос ?data=1 UNION SELECT 1 в такой формат /?data=1%20UNION%20SELECT%201
Это не вордпресс спас от инъекций, а браузер закодировал строку запроса перед отправкой
Code
1
?data=1' = '2' UNION 'hacked'
что-то вроде этого должно сработать/
PS В вордпресс есть свой костыль класс для работы с бд https://codex.wordpress.org/Cl... wpdb_Class
0
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 01:17  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
что-то вроде этого должно сработать/
да вот не срабатывает
класс мне не подойдет т.к через вордпресс идет обращение к другой базе
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
08.08.2017, 01:33
iopq, потому что union select должно быть. 0
0
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 02:47  [ТС]
наконец то получилось достать все записи вот таким запросом ?data=' or 1=1 -- 0 но только в отдельном php скрипте. через вордпресс по прежнему получаю только сообщение Данные не найдены

Добавлено через 42 минуты
PHP
1
2
if (isset($_POST['Submit'])) {
$b=(int)$_POST['data'];
это даст защиту?
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
08.08.2017, 03:53
Цитата Сообщение от iopq Посмотреть сообщение
это даст защиту?
у mysql есть функция mysql_real_escape_string() для защиты от инъекций. Будьте аккуратными с кавычками и обратными слэшами.
А ещё я бы проверил данные на валидность, например если ожидаем числовое значение, то проверить функцией is_numeric()
0
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 04:13  [ТС]
Igsit, так я же сделал (int). это не то же самое? сколько не пытался - кроме чисел ничего не проходит
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
08.08.2017, 05:12
Цитата Сообщение от iopq Посмотреть сообщение
так я же сделал (int)
если Вам нужно целое число то да, можно и так, и это не тоже самое что is_numeric()

Добавлено через 2 минуты
только то что Вы сделали это именно приведение типа а не проверка на тип, т.е. если введут ерунду то эта ерунда преобразуется в целое число (так, как это захочет PHP) и запишется в базу, а проверка скажем на is_numeric() покажет что там не число и значит в базу даже пытаться записать это не надо, объяснил?

Добавлено через 1 минуту
есть ещё is_int() если нужно )

Добавлено через 2 минуты
вот так будет правильнее
PHP
1
2
3
4
5
6
7
8
if (isset($_POST['Submit']) && isset($_POST['data'])) {
    if (is_int($_POST['data'])) {
        // тут пишем в базу
    }
    else {
        // тут посылаем подальше )))
    }
}
0
08.08.2017, 10:12

Не по теме:

Цитата Сообщение от Igsit Посмотреть сообщение
есть функция mysql_real_escape_string()
mysql объявлен устаревшим и в новых версиях РНР его поддержка убрана полностью

0
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 14:07  [ТС]
Цитата Сообщение от Igsit Посмотреть сообщение
if (isset($_POST['Submit']) && isset($_POST['data'])) {
* * if (is_int($_POST['data'])) {
* * * * // тут пишем в базу
* * }
* * else {
* * * * // тут посылаем подальше )))
* * }
}
что то меня он всегда посылает
0
Эксперт PHP
3901 / 3239 / 1353
Регистрация: 01.08.2012
Сообщений: 10,917
08.08.2017, 14:21
Цитата Сообщение от Igsit Посмотреть сообщение
PHP
1
is_int($_POST['data'])
Данные из форм приходят как строки, поэтому это условие никогда не выполнится.
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
08.08.2017, 14:49
Цитата Сообщение от Jodah Посмотреть сообщение
Данные из форм приходят как строки, поэтому это условие никогда не выполнится.
да, тут что-то я тупанул, действительно не выполнится, видимо сказалась бессонная ночь )
0
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 14:58  [ТС]
а как надо?
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
08.08.2017, 15:17
Цитата Сообщение от iopq Посмотреть сообщение
а как надо?
используйте тогда is_numeric() он работает со строками, а вообще конечно лучше регуляркой проверять
0
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 15:19  [ТС]
Igsit, а вот мне бы какой нибудь пример с этими рег.выражениями. т.к у меня только числа думаю не сильно сложно будет?
0
Эксперт PHP
3901 / 3239 / 1353
Регистрация: 01.08.2012
Сообщений: 10,917
08.08.2017, 15:39
iopq,

PHP
1
2
3
4
if (preg_match('~^\d+$~', '123'))
    echo 'число';
else
    echo 'не число';
1
11 / 11 / 1
Регистрация: 10.12.2013
Сообщений: 391
08.08.2017, 16:47  [ТС]
Jodah, сделал так-
PHP
1
2
3
4
5
6
7
if (isset($_POST['Submit']) && isset($_POST['data'])) {
//sqlqwery($_POST['data']); //хотел сделать одну общую функцию да вордпресс ругается
if (is_numeric($_POST['data'])) { //проверка на только числа
 $b=$_POST['data']; //переменная наверное лишняя
if (preg_match('~^\d+$~', $b)){ //рег выражения
 echo "SELECT* FROM db WHERE data = '$b'";//для отладки
 $result=mysql_query("SELECT* FROM db WHERE data = '$b'", $db);
злодею надо прорвать 2 барьера?
0
Эксперт PHP
3901 / 3239 / 1353
Регистрация: 01.08.2012
Сообщений: 10,917
08.08.2017, 16:48
iopq, а зачем is_numeric, если решили использовать регулярку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2017, 16:48

Отправить POST запрос PHP скрипту (перевести код с Visual Basic .NET)
Здравствуйте уважаемые форумчане. Начал увлекаться программированием на C++/CLI и возникла проблема. Итак, у меня есть программа на...

Как обратиться к одному скрипту из другого?
Монстрик получает урон, но в тело он получает 3 урона, в голову 5.... в руку 1 урон. На каждой части тела стоит свой скрипт, копящий в себе...

Как привязать к одному js скрипту несколько select
Доброго времени суток, есть таблица: <table name="TableCar" align="center"> <h3 align="center">Учет...

Направить все запросы одному скрипту используя htaccess
Необходимо перенаправить обработку всех страниц на index.php который лежи в папке flober Пробовал такие варианты, ни один не сработал ...

Visual basic. Как послать POST запрос скрипту на сервере?
Я далеко не профессионал в программировании, потому и задаю этот, наверно странный вопрос. Вот например если у нас есть HTML страница с...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru