Используйте запрос Select в Запросе на вставку для того же имени таблицы

Учитывая надлежащие условия, представление идентификаторов не является угрозой безопасности. И на практике это было бы чрезвычайно обременительно для разработки веб-приложения, не представляя идентификаторов.

Вот некоторые хорошие правила следовать:

  1. безопасность на уровне ролей Использования для управления доступом к операции. То, как это сделано, зависит от платформы и платформы, которую Вы выбрали, но многие поддерживают декларативную модель обеспечения безопасности, которая автоматически перенаправит браузеры к шагу аутентификации, когда действие потребует некоторых полномочий.
  2. Использование программируемая безопасность для управления доступом к объекту. Это более трудно сделать на уровне платформы. Чаще, это - что-то, что необходимо записать в код, и поэтому более подвержено ошибкам. Эта проверка идет вне основанной на роли проверки путем обеспечения не только, что пользователь имеет полномочия для операции, но также и имеет необходимые права на изменяемом конкретном объекте. В основанной на роли системе легко проверить, что только менеджеры могут дать повышения, но кроме того, необходимо удостовериться, что сотрудник принадлежит отделу конкретного менеджера.
  3. Для большинства записей базы данных, условия 1 и 2 достаточны. Но добавление непредсказуемых идентификаторов может считаться небольшой дополнительной страховкой, или "безопасностью подробно", если Вы вложились в то понятие. Одно место, где непредсказуемые идентификаторы необходимость, однако, находится в идентификаторах сессии или других аутентификационных маркерах, где сам идентификатор аутентифицирует запрос. Они должны быть сгенерированы криптографическим RNG.
5
задан praveenjayapal 14 October 2009 в 07:16
поделиться

4 ответа

Измените вставку, чтобы она выглядела следующим образом:

insert into sample_elements (name,position,ownerel) select 'Namespace1',id,0 from sample_elements where name='Namespace1';

В основном вместо использования значений используйте только оператор select и вставляйте жестко закодированные значения в виде столбцов

16
ответ дан 18 December 2019 в 09:50
поделиться

Я не знаю mysql, но можете ли вы попробовать следующее?

insert into sample_elements select name, id, 0 from sample_elements where name='Namespace1'
0
ответ дан 18 December 2019 в 09:50
поделиться

Думаю, ты справишься. Вы можете использовать:

INSERT INTO table (..fields) SELECT ..fields.. FROM table;
2
ответ дан 18 December 2019 в 09:50
поделиться

Я не уверен. Я думаю, что эта вставка внутри select для поиска уже существует или для какой цели.

Спасибо

0
ответ дан 18 December 2019 в 09:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: