В нашем веб-приложении мы столкнулись с ситуацией, когда нам нужно выполнять междоменные вызовы AJAX из одного домена, который мы полностью контролируем, в другой домен, который мы полностью контролируем. Я искал лучшее решение, и на ум приходят два локальных файловых прокси (локальных файла, использующих php :: fopen) или jquery / JSONP.
Когда я смотрю в Интернете, я вижу, что люди обычно говорят о насколько опасно использовать JSONP, потому что кто-то может внедрить в него вредоносные данные. Дилемма состоит в том, что большинство аргументов против этого, кажется, не содержат много воды, поэтому я прихожу сюда, чтобы попросить Стек дать разъяснения.
Каковы конкретные векторы атаки, которые будут открыты междоменным JSONP?
Насколько я понимаю, единственным вектором для JSONP является точно такой же вектор, который открывается путем включения
public sealed class DateStartAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dateStart = (DateTime)value;
// Meeting must start in the future time.
return (dateStart > DateTime.Now);
}
}
public sealed class DateEndAttribute : ValidationAttribute
{
public string DateStartProperty { get; set; }
public override bool IsValid(object value)
{
// Get Value of the DateStart property
string dateStartString = HttpContext.Current.Request[DateStartProperty];
DateTime dateEnd = (DateTime)value;
DateTime dateStart = DateTime.Parse(dateStartString);
// Meeting start time must be before the end time
return dateStart < dateEnd;
}
}
и в модели представления:
[DateStart]
public DateTime StartDate{ get; set; }
[DateEnd(DateStartProperty="StartDate")]
public DateTime EndDate{ get; set; }
В своем действии просто проверьте ModelState.IsValid. Это то, к чему вы стремитесь?