我的問題here,我試圖在服務器機器上實現某種消息解析。關於實現應用程序網絡協議的安全問題
目前的消息是這樣的:
int _header_signature;
int _offset_a;
int _offset_b;
int _size_a;
int _size_b;
wchar_t stuff[_size_a];
wchar_t stuff2[_size_b];
int _footer_signature;
我能得到一些代碼,這樣的作品,由頭部和大小的解碼,並知道如果我收到的整條消息或有更多未決。但是,什麼阻止惡意用戶故意更改這些消息並使我的機器崩潰?例如。將尺寸值或偏移量之一更改爲比我的消息更大的東西。
如何使我的服務器安全可靠,並且抵禦接收到的任何消息?
我的數據被序列化併發送,但是如何檢查偏移?我怎麼知道他們是有效的? – 2014-11-01 10:16:29
那麼你知道兩個數組的大小。爲什麼不只是檢查那些值是有限的 – 2014-11-01 10:18:03
我如何知道兩個陣列的大小?這些值也可以被操縱。 (如果你想知道的話,我不是那個低調的人) – 2014-11-01 10:28:03