Вы должны иметь возможность использовать 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' );
Более подробную информацию о том, как использовать функцию, можно найти здесь .
Это - жесткая линия для пересечения. Ваше веб-приложение является просто УСПОКОИТЕЛЬНЫМ веб-ресурсом как он, 'должен' быть? Или это пытается сделать больше. Следующая вещь Вы знаете Вас, имеет 100 скрытых полей ввода: __ СОСТОЯНИЕ ОТОБРАЖЕНИЯ, __ EVENTTARGET, __ EVENTARGUMENT, и т.д., и т.д.
Как Вы знаете, можно все еще предотвратить нападения на XSS в MVC. Просто погуглите его для наблюдения нескольких примеров. Но причина состоит в основном в том, что MVC является другим, 'более чистым' типом веб-приложения.
Править: Я не знаю, ясно ли то, что я сказал выше. Но идея состоит в том, что MVC не собирается пытаться быть больше, чем, что это (как ASP.NET, делает). У них обоих есть свои сильные стороны и причины.
Я знаю, что этот вопрос стар, но я думал, что мог ответить на это так или иначе.
Существует атрибут фильтра действия ValidateInput, который может быть добавлен к действиям.
[ValidateInput(true)]
public ActionResult Foo()
{
}
Можно также использовать атрибут AllowHtml на свойствах модели
public class MyModel
{
public Guid ID { get; set; }
[AllowHtml]
public string SomeStringValue { get; set; }
}
Я надеюсь, что у Вас есть что-то более устойчивое, чем ValidateRequest для предотвращения XSS, так или иначе.
Я нахожу решение ValidateRequest как взлом. По-моему, 'отражающим XSS' является Бизнес-правило; поэтому позвольте Модели обработать ситуацию.
Мне действительно нравится объяснение относительно требования лучше следовать за принципами REST. Относительно 100 скрытых полей, это напоминает мне о решении ASP, что я обеспечил несколько лет назад; я использовал быстрое увеличение скрытых полей для переноса метаданных. Не симпатичный.