Почему был, проверяют запрос, вынутый из ASP.net MVC?

Вы должны иметь возможность использовать get_current_user_id(), чтобы (как следует из названия функции) получить идентификатор текущего пользователя, а затем выполнить простой оператор if , чтобы сравнить его с конкретным идентификационным номером.

Пример:

function wpa66834_role_admin_body_class( $classes ) {
    $user_id = get_current_user_id();
    // Assuming 13 is the user's ID you're targeting
    if( $user_id == 13 )
        $classes .= ' custom-class-for-user-13';
    return trim( $classes );
}
add_filter( 'admin_body_class', 'wpa66834_role_admin_body_class' );

Более подробную информацию о том, как использовать функцию, можно найти здесь .

5
задан tereško 13 July 2012 в 09:13
поделиться

4 ответа

Это - жесткая линия для пересечения. Ваше веб-приложение является просто УСПОКОИТЕЛЬНЫМ веб-ресурсом как он, 'должен' быть? Или это пытается сделать больше. Следующая вещь Вы знаете Вас, имеет 100 скрытых полей ввода: __ СОСТОЯНИЕ ОТОБРАЖЕНИЯ, __ EVENTTARGET, __ EVENTARGUMENT, и т.д., и т.д.

Как Вы знаете, можно все еще предотвратить нападения на XSS в MVC. Просто погуглите его для наблюдения нескольких примеров. Но причина состоит в основном в том, что MVC является другим, 'более чистым' типом веб-приложения.

Править: Я не знаю, ясно ли то, что я сказал выше. Но идея состоит в том, что MVC не собирается пытаться быть больше, чем, что это (как ASP.NET, делает). У них обоих есть свои сильные стороны и причины.

4
ответ дан 18 December 2019 в 13:20
поделиться

Я знаю, что этот вопрос стар, но я думал, что мог ответить на это так или иначе.

Существует атрибут фильтра действия ValidateInput, который может быть добавлен к действиям.

[ValidateInput(true)]
public ActionResult Foo()
{

}

Можно также использовать атрибут AllowHtml на свойствах модели

public class MyModel
{
    public Guid ID { get; set; }

    [AllowHtml]
    public string SomeStringValue { get; set; }
}
7
ответ дан 18 December 2019 в 13:20
поделиться

Я надеюсь, что у Вас есть что-то более устойчивое, чем ValidateRequest для предотвращения XSS, так или иначе.

2
ответ дан 18 December 2019 в 13:20
поделиться

Я нахожу решение ValidateRequest как взлом. По-моему, 'отражающим XSS' является Бизнес-правило; поэтому позвольте Модели обработать ситуацию.

Мне действительно нравится объяснение относительно требования лучше следовать за принципами REST. Относительно 100 скрытых полей, это напоминает мне о решении ASP, что я обеспечил несколько лет назад; я использовал быстрое увеличение скрытых полей для переноса метаданных. Не симпатичный.

1
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

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