Двусторонние атаки DataContracts и атаки типа «отказ в обслуживании»

Я работаю над контрактом данных следующим образом, который использует IExtensiblesDataObject, чтобы сделать его совместимым с версией 02 этого контракта, но меня беспокоит возможный «случайный» отказ в обслуживании из-за того, что клиенты передают чрезмерное количество данных по сети, которые необходимо деактивировать. сериализуется, повторно сериализуется и отправляется обратно.

Есть ли способ защиты от такой возможности, не отключая поддержку через ignoreExtensionDataObject в файле конфигурации, то есть вы можете как-то ограничить количество?

[DataContract(Namespace="http://schemas.myComany.com/sample/01")]
public class Sample : IExtensibleDataObject
{
    [DataMember]
    public int32 sample_ID;

    private ExtensionDataObject _data;
    public virtual ExtensionDataObject ExtensionData
    {
        get { return _data; }
        set { _data = value; }
    }

    ....
}

заранее спасибо


person SkeetJon    schedule 16.01.2012    source источник


Ответы (1)


Способ защиты вашего сервиса — ограничение MaxReceivedMessageSize (по умолчанию 65 КБ) и квоты на чтение в вашей привязке.

person Ladislav Mrnka    schedule 16.01.2012