Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
4 / 3 / 2
Регистрация: 03.09.2013
Сообщений: 141

Валидация введенных данных от подмены полей

24.09.2018, 12:31. Показов 824. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Встречал реализацию такого вида: создается некий массив атрибутов, к примеру:
PHP
1
2
3
4
5
6
public $attributes = [
        'login' => '',
        'password' => '',
        'email' => '',
        'name' => '',
    ];
Это соответственно наименования полей из формы. Ну и потом уже эти атрибуты заполняются POST данными, или сравниваются с данными из БД.
PHP
1
if ($user->login == $this->attributes['login']) { ... }
Вот где можно с логикой этой конструкции поподробнее ознакомиться и нужна ли она при стандартной валидации введенных пользователем данных (проверка на корректность, тип и прочее)?
И как привязываются эти атрибуты к пришедшим POST данными?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2018, 12:31
Ответы с готовыми решениями:

Валидация полей формы
Форма регистрации имеет четыре поля: фамилия, имя, email и пароль. Данные записываются в базу данных. Все работает, но мне бы хотелось...

Валидация полей: вывод сообщения при некорректном вводе данных
Есть вот такой код: if ($('#iname').val().trim() == "" || isDidit($('#iname').val())) { $('#spanname').html("<font...

Валидация полей
Добрый день. Такой вопрос. Сделал валидацию полей, но валидация работает только при добавлении данных, нужно также сделать и для...

5
4 / 3 / 2
Регистрация: 03.09.2013
Сообщений: 141
25.09.2018, 20:44  [ТС]
Никто не подскажет?
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
25.09.2018, 21:14
Эта штука нужна чтобы работать только с теми данными, которые ты ожидаешь.

Вот допустим юзер можно обновлять свой профиль.
Ты думаешь что он пришлет тебе ФИО, а он тебе присылает ФИО и user_role = admin, а ORM может это спокойно схавать.

Цитата Сообщение от wladim Посмотреть сообщение
нужна ли она при стандартной валидации введенных пользователем данных
Сами решайте насколько важна вам безопасность.
Цитата Сообщение от wladim Посмотреть сообщение
И как привязываются эти атрибуты к пришедшим POST данными?
В цикле вытаскиваешь данные из $_POST и запихиваешь в массив.
1
4 / 3 / 2
Регистрация: 03.09.2013
Сообщений: 141
25.09.2018, 21:41  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
с теми данными, которые ты ожидаешь
Значит, при всех данных. Данные, которые я не ожидаю, конечно не нужны. Спасибо.
Запихивать так?:
PHP
1
$this->attributes['login'] = $_POST['login']
и т.д. Ладно, суть уловил, далее сам.
0
4 / 3 / 2
Регистрация: 03.09.2013
Сообщений: 141
30.09.2018, 17:29  [ТС]
Народ, подскажите пожалуйста где побольше познакомиться с этой фишкой и как это реализуется?
В инете в результате вопроса про валидацию и подмену форм вообще не то выводит
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
30.09.2018, 18:06
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
function array_only($array, $keys)
{
    return array_intersect_key($array, array_flip((array) $keys));
}
 
$attributes = [
    'login',
    'password',
    'email',
    'name',
];
 
$_POST = [
    'param1' => 1,
    'login' => 'tarasalk',
    'password' => 123,
    'email' => 'tarasalk@mail.ru',
    'name' => 
    'taras'
];
 
print_r(array_only($_POST, $attributes));
Я хз что за чудо вы ожидаете, но это все элементарные вещи.
Ну если хотите что-нибудь эдакое, гляньте валидацию в laravel.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
30.09.2018, 18:07
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
function array_only($array, $keys)
{
    return array_intersect_key($array, array_flip((array) $keys));
}
 
$attributes = [
    'login',
    'password',
    'email',
    'name',
];
 
$_POST = [
    'param1' => 1,
    'login' => 'tarasalk',
    'password' => 123,
    'email' => 'tarasalk@mail.ru',
    'name' => 
    'taras'
];
 
print_r(array_only($_POST, $attributes));
Я хз что за чудо вы ожидаете, но это все элементарные вещи.
Ну если хотите что-нибудь эдакое, гляньте валидацию в laravel.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
30.09.2018, 18:07
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
function array_only($array, $keys)
{
    return array_intersect_key($array, array_flip((array) $keys));
}
 
$attributes = [
    'login',
    'password',
    'email',
    'name',
];
 
$_POST = [
    'param1' => 1,
    'login' => 'tarasalk',
    'password' => 123,
    'email' => 'tarasalk@mail.ru',
    'name' => 
    'taras'
];
 
print_r(array_only($_POST, $attributes));
Я хз что за чудо вы ожидаете, но это все элементарные вещи.
Ну если хотите что-нибудь эдакое, гляньте валидацию в laravel.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
30.09.2018, 18:07
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
function array_only($array, $keys)
{
    return array_intersect_key($array, array_flip((array) $keys));
}
 
$attributes = [
    'login',
    'password',
    'email',
    'name',
];
 
$_POST = [
    'param1' => 1,
    'login' => 'tarasalk',
    'password' => 123,
    'email' => 'tarasalk@mail.ru',
    'name' => 
    'taras'
];
 
print_r(array_only($_POST, $attributes));
Я хз что за чудо вы ожидаете, но это все элементарные вещи.
Ну если хотите что-нибудь эдакое, гляньте валидацию в laravel.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
30.09.2018, 18:08
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
function array_only($array, $keys)
{
    return array_intersect_key($array, array_flip((array) $keys));
}
 
$attributes = [
    'login',
    'password',
    'email',
    'name',
];
 
$_POST = [
    'param1' => 1,
    'login' => 'tarasalk',
    'password' => 123,
    'email' => 'tarasalk@mail.ru',
    'name' => 
    'taras'
];
 
print_r(array_only($_POST, $attributes));
Я хз что за чудо вы ожидаете, но это все элементарные вещи.
Ну если хотите что-нибудь эдакое, гляньте валидацию в laravel.
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:10
В инете про это ничего неи, потомучто это не фишка
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:10
В инете про это ничего неи, потомучто это не фишка
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:11
В инете про это ничего неи, потомучто это не фишка
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:11
В инете про это ничего неи, потомучто это не фишка
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:11
В инете про это ничего неи, потомучто это не фишка
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:11
В инете про это ничего неи, потомучто это не фишка
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
30.09.2018, 18:12
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
function array_only($array, $keys)
{
    return array_intersect_key($array, array_flip((array) $keys));
}
 
$attributes = [
    'login',
    'password',
    'email',
    'name',
];
 
$_POST = [
    'param1' => 1,
    'login' => 'tarasalk',
    'password' => 123,
    'email' => 'tarasalk@mail.ru',
    'name' => 
    'taras'
];
 
print_r(array_only($_POST, $attributes));
Я хз что за чудо вы ожидаете, но это все элементарные вещи.
Ну если хотите что-нибудь эдакое, гляньте валидацию в laravel.
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:13
В инете про жтого ничего неи, потомучто это не фишка
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
30.09.2018, 18:13
В инете про жтого ничего неи, потомучто это не фишка
0
30.09.2018, 19:45

Не по теме:

Фигасе баг, у вас в очереди что-ли все посты собираются?)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2018, 19:45
Помогаю со студенческими работами здесь

Валидация несольких полей
Доброго времени суток! У меня такая проблема... есть несколько полей на странице, которые я валидирую при помощи CustomValidator,...

Валидация полей в форме
Доброго времени суток. Взял готовую систему авторизации, но при нажатии кнопки &quot;Login&quot; ничего не происходит. Как сделать...

Валидация полей формы
Вечер добрый, требуется помощь. Ниже код, с простой валидацией полей формы, где кнопка &quot;submit&quot; становится активной после...

Валидация Read Only Полей
Может кто вкурсе как можно сделать валидацию ридонли полей в икспейдж. Данные поля заполняю с помощью диалога.Заранее благодарю за ответы!

Валидация полей TextBox в WinForms
Есть форма, WinForms, на которой находится пару десятков полей TextBox. Поля TextBox трех видов: - текстовые - целочисленные -...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru