Web_programming
1.14K subscribers
354 photos
14 videos
125 files
1.23K links
Sharif web programming
If you have any questions, please feel free to ask(@yumcoder)
Download Telegram
چگونه تلگرام پیش نمایش یک لینک را نشان میدهد؟ با بهره گیری از ogp
چگونه تلگرام جلوی replay-attack را میگیرد؟

A (time-dependent) 64-bit number used uniquely to identify a message within a session. Client message identifiers are divisible by 4, server message identifiers modulo 4 yield 1 if the message is a response to a client message, and 3 otherwise. Client message identifiers must increase monotonically (within a single session), the same as server message identifiers, and must approximately equal unixtime*2^32. This way, a message identifier points to the approximate moment in time the message was created. A message is rejected over 300 seconds after it is created or 30 seconds before it is created (this is needed to protect from replay attacks) . In this situation, it must be re-sent with a different identifier (or placed in a container with a higher identifier). The identifier of a message container must be strictly greater than those of its nested messages.

Important: to counter replay-attacks the lower 32 bits of msg_id passed by the client must not be empty and must present a fractional part of the time point when the message was created.
اگر مطالعه کردید و مشکل داشتید میتوانید به من پیغام دهید 😀. لازم به ذکر است برای درک مقاله فوق باید دستورهای linux مانند:
epoll, pipe, eventfd,...
آشنا باشید. ولی حقیقا مقاله بسیار بسیار خوب، دقیق و کاملی است.
https://gyp.gsrc.io/
کاربرد برای کدهای که محیط توسعه مختلف را میخواهند پشتیبانی کنند (فرض کنید میخواهید پروژه در clion-VS-xcode,... توسعه داده شود.)
نمونه کاربرد پروژه کروم و تلگرام دیسکتاب
ریاضیات مورد نیاز برای درک پروتکل mtproto همان constructive type theory است در درس formal method توسط دکتر میریان تدریس میشود
دو لینک آخر نسخه ابزارهای آنها کمی قدیمی است و بیشتر هدف اشنایی با این مفهوم است