рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реЙрдХреЗрдЯ рд▓реЗрдпрд░
SSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рджрд╢рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╡реЗрдм рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред
рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рд┐рд░реНрдл рдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдореВрд▓ рдЧреБрдгреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЬреЛ рд▓реЛрдЧ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЕрдкрдиреЗ рджрдо рдкрд░ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
- рдкреНрд░рдорд╛рдгреАрдХрд░рдг - рд╕рд░реНрд╡рд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╡рдлрд╝рд╛рджрд╛рд░реА - рдореИрд╕реЗрдЬрд┐рдВрдЧ рдореЗрдВ рдЕрдЦрдВрдбрддрд╛ рдХреА рдЬрд╛рдБрдЪ рд╢рд╛рдорд┐рд▓ рд╣реИред
- рдЪреИрдирд▓ рд╡рд┐рд╢реЗрд╖ - рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдХреЗ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
SSL рдкрд░ рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд┐рдЧрд░рд╛рдиреА
рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХреБрдВрдЬреА рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЧрдгрдирд╛ рдХреЗрд╡рд▓ рд╕рд╛рдЗрдб рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рджреЗрдЦрдХрд░ рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред
рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд┐рдЧрд░рд╛рдиреА рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдбрд┐рдлреА-рд╣реЗрд▓рдореИрди рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╣реИ ред
рдмреАрдЪ рдореЗрдВ рдЖрджрдореА
рдпрджрд┐ рд╣рдо рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдиреЗрдХреНрд╢рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рдмреАрдЪ (рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рд╣реЛрдиреЗ рдХрд╛ рдирд╛рдЯрдХ рдХрд░ рд░рд╣рд╛ рд╣реИ), рдФрд░ рджреВрд╕рд░рд╛ рд╣рдорд▓рд╛рд╡рд░ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ?
рдбрд┐рдлрд┐-рд╣реЗрд▓рдореИрди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдЗрд╕рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди SSL, DX рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рднреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдмрд░реНрдмрд╛рдж рд╣реИред рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЙрдореНрдореАрдж рд╣реЛрддреА рд╣реИ (рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред рд▓реЗрдХрд┐рди рдПрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рд╕рд╛рдЗрдЯ рдХреЗ рдирд╛рдо рдХреЗ рдЕрдиреБрд░реВрдк рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рдХрдореА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
- рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдПрдВ, рдФрд░ рд╕реНрд╡рдпрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░реЗрдВред рдРрд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ "рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рд╡реИрдзрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА" (CA) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рдЗрдЯ рдкреНрд░рдорд╛рдг рдкрддреНрд░ (рдФрд░ рди рдХреЗрд╡рд▓) рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЕрдиреНрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкрд░ рднреА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░реВрдЯ рд╕реАрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ - рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ - рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рдкреНрд░рдорд╛рдгрд┐рдХ рдорд╛рдирддрд╛ рд╣реИ, рдЬрдм рд╡рд╣ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реЛ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ CA рд╕реЗ рд╢реБрд░реВ рд╣реЛ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ ред
- рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА рд╕реЗ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдПрдХ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдЗрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рд╡рд╣ рдбреЛрдореЗрди рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдбреЛрдореЗрди рдмреЗрдореЗрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрд▓рд╛рд░реНрдо рдмрдЬрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред
рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреАрдбрд╝рд┐рдд рдХреЛ рдХреБрдЫ рднрдпрд╛рд╡рд╣ рддрд╕реНрд╡реАрд░ рджрд┐рдЦрд╛рдПрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЫрдбрд╝реА рдФрд░ рдЧрд╛рдЬрд░ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦ рд╕рдХреЗрдВред рдКрдкрд░ рджрд┐рдЦрд╛рдИ рдЧрдИ рдЪрдордХрджрд╛рд░ рд▓рд╛рд▓ рддрд╕реНрд╡реАрд░, рд╕рд╛рде рд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд "рдХрдВрдЯрд┐рдиреНрдпреВ рдПрдиреА" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдПрдХ рд╡реНрд╣рд┐рдк рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрди рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрд╕рдПрд╕рдПрд▓ рдЙрд▓реНрд▓рдВрдШрди рд╣реИред
рдЬрд┐рдВрдЬрд░рдмреНрд░реЗрдб рдХреНрдпрд╛ рд╣реИ? SSL рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ "рдкреНрд░реЛрддреНрд╕рд╛рд╣рди" рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рд╣реИ рдпрд╛ рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ "рд▓реЙрдХ" рдЪрд┐рддреНрд░ рд╣реИред
рд╕рд╛рдЗрдЯреЗрдВ рдЬреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде SSL рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ:
рдЧреИрд░-рдПрд╕рдПрд╕рдПрд▓ рд╕рд╛рдЗрдЯреЗрдВ:
рд╕рд╣реА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЗрдВ, рд▓реЗрдХрд┐рди SSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдмрджрд▓рддреА рдЧрдВрднреАрд░рддрд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди:
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдмрдбрд╝реА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рднреА рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдкрддрд╛ рдкрдЯреНрдЯреА рдореЗрдВ рдЗрд╕ рдЖрдЗрдХрди рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдзреНрдпрд╛рди рдХрдо рдХрд░рдирд╛ред
рддрд╕реНрд╡реАрд░реЛрдВ рд╕реЗ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЦреБрдж рдЧрд╛рдЬрд░ рд╕реЗ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
- рдпрджрд┐ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдПрдХ рдЕрд╡реИрдз рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдХрд╛рдлреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрд╕реЗ рдЗрд╕ (рд╕рдВрднрд╡рддрдГ рдлрд╝рд┐рд╢рд┐рдВрдЧ) рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдПрд╕рдПрд╕рдПрд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднрдпрд╛рдирдХ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЬреЛ рд╡рд╣ рдЕрдХреНрд╕рд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдХреБрдЫ рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд╛рд▓реЗ рдЧреНрд░реАрди рд▓реЙрдХ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕реВрдЪрдирд╛ рджреЗрдЧрд╛ред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ?
рдХреЛрдИ рднреА рдПрдбреНрд░реЗрд╕ рдмрд╛рд░ рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ https: // (рдФрд░ рд╕рд╛рде рд╣реА рдЪрд┐рддреНрд░: //)ред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рдпрдВ рдЕрдкрдиреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪрд╛рд░ рддрд░реАрдХреЛрдВ рд╕реЗ SSL рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреА рд╣реИ:
- рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ
- 3xx рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд (рд╕реНрдерд╛рди: ...)
- рдлреЙрд░реНрдо рдЬрдорд╛ рдХрд░реЗрдВ
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗрд╡рд▓ http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ https рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╢рд╛рдпрдж http рдкрд░ рд╣рдорд▓рд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рд╣реИ?
- рд╕рднреА HTTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ https рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд░реЛрдХреЗрдВ, рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓реЗрдВ, рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рди рд╣реЗрдбрд░ рдЖрджрд┐ред
- рдЬрдм рдХреЛрдИ рдХреНрд▓рд╛рдЗрдВрдЯ http рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ http рдпрд╛ https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рд╢реБрд░реВ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рд░реНрд╡рд░ рдХреЛ рдХреБрдЫ рднреА рд╕рдВрджрд┐рдЧреНрдз рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдирд┐рдХрд▓рддрд╛ рд╣реИ)ред
рдХреНрд▓рд╛рдЗрдВрдЯ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдПрд╕рдПрд╕рдПрд▓ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рдкрд╛рдпрд╛, рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХрдореА рдХреЛ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рд╡реНрдпрд╛рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдкрд╛рдпрдерди, рдЯреНрд╡рд┐рд╕реНрдЯреЗрдб рдФрд░ рдорд╛рдирдХ http рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдВ:
рдореБрдбрд╝ рд╕реЗред рд╡реЗрдм рдЖрдпрд╛рдд рдкреНрд░реЙрдХреНрд╕реА, http
рдореБрдбрд╝ рд╕реЗред рдЗрдВрдЯрд░рдиреЗрдЯ рдЖрдпрд╛рдд рд░рд┐рдПрдХреНрдЯрд░
рдореБрдбрд╝ рд╕реЗред рдЕрдЬрдЧрд░ рдЖрдпрд╛рдд рд▓реЙрдЧ
рдЖрдпрд╛рдд sys
рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред StartLogging ( sys ред рд╕реНрдЯрдбрдЖрдЙрдЯ )
рд╡рд░реНрдЧ ProxyFactory ( httpред HTTPFactory ) :
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ = рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░рддрд┐рдирд┐рдзрд┐
рд░рд┐рдПрдХреНрдЯрд░ред ListenTCP ( 8080 , ProxyFactory ( ) )
рд░рд┐рдПрдХреНрдЯрд░ред рдЪрд▓рд╛рдПрдВ ( )
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╛рд░рджрд░реНрд╢реА рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдореИрдВ рдХреЛрдб рдХреЗ рдордзреНрдпрд╡рд░реНрддреА рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рджреЗрддрд╛, рдореБрдЭреЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд╛рда рдорд┐рд▓рддрд╛ рд╣реИ)ред
рд╣рдо рд╕рднреА рдкреАрдбрд╝рд┐рддреЛрдВ рдХреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд╕рд╛рде рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ рдЬреЛ рдкреЛрд░реНрдЯ 80 рд╕реЗ рдЧреБрдЬрд╝рд░реЗред
рдЕрдм рдЖрдкрдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо https рд╕реЗ http рдХреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдбреЗрдЯрд╛ рдХреЛрдб рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ, рдкреЗрдЬ рдХреЛрдб рдХреЗ рдХрд┐рд╕реА рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ * .google.com, gmail.com рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред
рд╕рд░реНрд╡рд░ рдХреЛ рдЦреБрд▓реЗ рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЙрдХреНрд╕реА рджреНрд╡рд╛рд░рд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб.google.com, gmail.com, google.com/accounts/ (рдФрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдЬрд╣рд╛рдВ https рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ) рдХреЗ рд╕рд╛рде рд╕рднреА рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рд╣реЛрдВрдЧреЗред рдПрд╕рдПрд╕рдПрд▓ рдкрд░ред
рдкреАрдбрд╝рд┐рдд рдХрд╛ рдИрдореЗрд▓ рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рдЕрдм рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдРрд╕реЗ "рдкреНрд░реЙрдХреНрд╕реА" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдХреВрдХреАрдЬ рдкрд░ рд╕рд░реНрд╡рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдЪреИрдирд▓ рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рд╛рдорд╛рдиреНрдп http рдкреНрд░реЙрдХреНрд╕реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рдХреНрдпреЛрд░ рдмрд┐рдЯ рдХреЗ рд╕рд╛рде рдХреБрдХреАрдЬрд╝ рдирд╣реАрдВ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ "рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдХреБрдХреАрдЬрд╝ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдВрдж рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░реЗрдВред тАЭ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реЗрдЯ-рдХреБрдХреА рд╕рд░реНрд╡рд░ рд╕реЗ "рд╕рд┐рдХреНрдпреЛрд░" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╣рдЯрд╛рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдХреАрдЬрд╝ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╡реИрд╕реЗ рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░реЗрдЧреАред
рдЕрдВрддрд┐рдо рдкреНрд░реЙрдХреНрд╕реА рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
# - * - рдХреЛрдбрд┐рдВрдЧ: utf8 - * -
рдореБрдбрд╝ рд╕реЗред рд╡реЗрдм рдЖрдпрд╛рдд рдкреНрд░реЙрдХреНрд╕реА, http
рдореБрдбрд╝ рд╕реЗред рдЗрдВрдЯрд░рдиреЗрдЯ рдЖрдпрд╛рдд рд░рд┐рдПрдХреНрдЯрд░, рдПрд╕рдПрд╕рдПрд▓
рдореБрдбрд╝ рд╕реЗред рдЕрдЬрдЧрд░ рдЖрдпрд╛рдд рд▓реЙрдЧ
рдЖрдпрд╛рдд urlparse
рдЖрдпрд╛рдд sys
рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред StartLogging ( sys ред рд╕реНрдЯрдбрдЖрдЙрдЯ )
рд╕реНрдЯреНрд░рд╛рдЗрдкрдбреНрд░реЗрд╕ = рдлреНрд░реЛрдЬрд╝реЗрдиреНрд╕реЗрдЯ ( [ 'google.com' , 'google.ru' , 'gmail.com' ) ]
ForceSSLAddresses = Frozenset ( [ 'рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛' ' , ' gmail.com/ ' , \
'google.com/accounts' , 'mail.google.com/' ,
'ssl.google-analytics.com/' ] )
рдХрдХреНрд╖рд╛ рдИрд╡рд┐рд▓рдкреНрд░реЛрдХреНрд╕реАрдХреНрд▓рд╛рдЗрдВрдЯ ( рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рдЗрдВрдЯ ) :
def __init__ ( рд╕реНрд╡ , рдХрдорд╛рди, рдЖрд░рд╛рдо, рд╕рдВрд╕реНрдХрд░рдг, рд╢реАрд░реНрд╖рд▓реЗрдЦ, рдбреЗрдЯрд╛, рдкрд┐рддрд╛ ) :
# рд╕рд╛рдордЧреНрд░реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХреЛрдбрд┐рдВрдЧ рдХреЛ рд░реЛрдХреЗрдВ
рд╣реЗрдбрд░ [ "рд╕реНрд╡реАрдХрд╛рд░-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ" ] = "рдкрд╣рдЪрд╛рди"
рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░реЙрдХреНрд╕реА ред __in__ ( рд╕реНрд╡ , рдХрдорд╛рди, рдЖрд░рд╛рдо, рд╕рдВрд╕реНрдХрд░рдг, рд╢реАрд░реНрд╖ рд▓реЗрдЦ, рдбреЗрдЯрд╛, рдкрд┐рддрд╛ )
рдбреАрд╣реЗрд▓реНрдбрд░ ( рд╕реНрд╡рдпрдВ , рдХреБрдВрдЬреА, рдореВрд▓реНрдп )
рдЕрдЧрд░ рдХреБрдВрдЬреАред рдХрдо ( ) ! = 'рд╕рд╛рдордЧреНрд░реА-рд▓рдВрдмрд╛рдИ' :
рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░реЙрдХреНрд╕реА ред рд╕рдВрднрд╛рд▓ ( рд╕реНрд╡рдпрдВ , рдХреБрдВрдЬреА, рдорд╛рдиред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ( 'https' , 'http' ) ред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ( 'ecure' , 'ecre' ) )
рдбреАрдЖрд░рдЖрд░ рд╣реИрдВрдбрд╕реЗрдВрдЯрдкрд╛рд░реНрдЯ ( рд╕реЗрд▓реНрдл , рдмрдлрд░ ) :
рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░реЙрдХреНрд╕реА ред handleResponsePart ( рд╕реНрд╡рдпрдВ , рдмрдлрд╝рд░ред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ( 'https' , 'http' ) ред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ( 'ecure' , 'ecre' ) )
рдХрдХреНрд╖рд╛ рдИрд╡рд┐рд▓рдкреНрд░реЙрдХреНрд╕реАрдХрд┐рдПрдВрдЯрдлреИрдХреНрдЯрд┐рдХ ( рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рдХреНрдЯрд┐рдлрд┐рдХреЗрд╢рди ) :
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ = EvilProxyClient
рд╡рд░реНрдЧ рдЯреНрд░рд╛рдВрд╕рдкреЗрд░реЗрдВрдЯ рдкреНрд░реЙрдХреНрд╕рд┐рд░реЗрд╕реНрдЯ ( httpред рдЕрдиреБрд░реЛрдз ) :
def __init__ ( рд╕реНрд╡ , рдЪреИрдирд▓, рдкрдВрдХреНрддрд┐рдмрджреНрдз, рд░рд┐рдПрдХреНрдЯрд░ = рд░рд┐рдПрдХреНрдЯрд░ ) :
httpред рдирд┐рд╡реЗрджрди ред __in__ ( рд╕реНрд╡ , рдЪреИрдирд▓, рдкрдВрдХреНрддрд┐рдмрджреНрдз )
рд╕реНрд╡ ред рд░рд┐рдПрдХреНрдЯрд░ = рд░рд┐рдПрдХреНрдЯрд░
рдбреАрдИрдПрдл рдкреНрд░рдХреНрд░рд┐рдпрд╛ ( рд╕реНрд╡ ) :
рдкрд╛рд░реНрд╕рдб = urlparse ред urlparse ( рд╕реНрд╡ ред uri )
рд╢реАрд░реНрд╖рд╛рд╕рди = рд╕реНрд╡ ред getAllHeaders ( ) ред рдХреЙрдкреА ( )
"рд╣реЗрдбрд░: \ n % s" % рд╣реЗрдбрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
рд╣реЛрд╕реНрдЯ = рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ [ 1 ] рдпрд╛ рд╣реЗрдбрд░ [ "рд╣реЛрд╕реНрдЯ" ]
rest = urlparse ред urlunparse ( ( '' ' , ' ' ) + рдкрд╛рд░реНрд╕ [ 2 : ] ) рдпрд╛ ' / '
рд╕реНрд╡ ред рд╕рд╛рдордЧреНрд░реА ред рддрд▓рд╛рд╢ ( 0 , 0 )
s = рд╕реНрд╡ ред рд╕рд╛рдордЧреНрд░реА ред рдкрдврд╝реЗрдВ ( )
"рдХрдВрдЯреЗрдВрдЯ: \ n % s" % s рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
needStrip = filter ( ( рд╣реЛрд╕реНрдЯ + рд░реЗрд╕реНрдЯ ) ред count , stripAddresses )
clientClass = EvilProxyClientFactory рдЕрдЧрд░ рдЬрд░реВрд░рдд рд╣реИ рддреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдФрд░ рдЕрдзрд┐рдХ ред ProxyClientFactory
clientFactory = clientClass ( рд╕реНрд╡- рд╡рд┐рдзрд┐ , рдмрд╛рдХреА, рд╕реНрд╡ ред
рдПрд╕, рд╕реНрд╡ )
needSSL = рдлрд╝рд┐рд▓реНрдЯрд░ ( ( рд╣реЛрд╕реНрдЯ + рдмрд╛рдХреА ) ред рдЧрд┐рдирддреА , forceSSLAddresses )
рдЕрдЧрд░ рдЬрд░реВрд░рдд рд╣реИ:
рд╕реНрд╡ ред рд░рд┐рдПрдХреНрдЯрд░ ред рдХрдиреЗрдХреНрдЯрдПрд╕рдПрд╕рдПрд▓ ( рд╣реЛрд╕реНрдЯ, 443 , рдХреНрд▓рд╛рдЗрдВрдЯрдлреИрдХреНрдЯреНрд░реА, рдПрд╕рдПрд╕рдПрд▓ред рдХреНрд▓рд╛рдЗрдВрдЯрдХреЛрдЯреЗрдХреНрд╕реНрдЯрдлреИрдХреНрдЯреНрд░реА ( ) )
рдФрд░ :
рд╕реНрд╡ ред рд░рд┐рдПрдХреНрдЯрд░ ред рдХрдиреЗрдХреНрдЯрдЯрд┐рдк ( рдореЗрдЬрдмрд╛рди, 80 , рдЧреНрд░рд╛рд╣рдХ-рд╕реЗрд╡рд╛ )
рдХреНрд▓рд╛рд╕ рдЯреНрд░рд╛рдВрд╕рдкреЗрд░реЗрдВрдЯрдкреНрд░реЙрдХреНрд╕реА ( рдкреНрд░реЙрдХреНрд╕реАред рдкреНрд░реЙрдХреНрд╕реА ) :
requestFactory = рдкрд╛рд░рджрд░реНрд╢реАрдкрд╛рд░рджрд░реНрд╢реА
рдХреНрд▓рд╛рд╕ рдЯреНрд░рд╛рдВрд╕рдкреЗрд░реЗрдВрдЯрдкреНрд░реЙрдХреНрд╕реА рдлреИрдХреНрдЯреНрд░реА ( httpред HTTPFactory ) :
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ = рдЯреНрд░рд╛рдВрд╕рдкреЗрд░реЗрдВрдЯрдкреНрд░реЙрдХреНрд╕реА
рд░рд┐рдПрдХреНрдЯрд░ред ListenTCP ( 8080 , рдЯреНрд░рд╛рдВрд╕рдкреЗрд░реЗрдВрдЯрдкреНрд░реЙрдХреНрд╕реА рдлреИрдХреНрдЯреНрд░реА ( ) )
рд░рд┐рдПрдХреНрдЯрд░ред рдЪрд▓рд╛рдПрдВ ( )
рдФрд░ рдЙрд╕рдХреЗ рдХрд╛рдо рдХреЗ рдлрд▓:
рдЖрдорддреМрд░ рдкрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рд╣реИрдВред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ "https" рд▓рд╛рдЗрди рдХреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рддреБрдЪреНрдЫ рдЦреЛрдЬ рдФрд░ рдЙрдиреНрд╣реЗрдВ "http" рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛, рд╣рдореЗрдВ рдкреГрд╖реНрда рдХреЛрдб ("рд▓рд┐рдВрдХ" рдФрд░ "рдлрд╝реЙрд░реНрдо" рдЯреИрдЧ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ - рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рд╣реИ)ред
рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд┐рдд рдмрд┐рдЯ рдХреЗ рд╕рд╛рде рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдФрд░ рдХреБрдХреАрдЬрд╝ рдХреЗ рдкрддреЗ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдп - рдордХреНрдЦреА рдкрд░, рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЬреЗрдПрд╕ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ (http / https рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╡рд┐рдХрд▓реНрдк рддрдХ) рдореЗрдВ рдмрджрд▓рд╛рд╡ рди рд╣реЛ - рдореБрдЭреЗ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдХрд╛рд░реНрдп - рдЬрдм рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреБрд░реЛрдз рдХрд┐рд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдордиреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬреЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд▓рди рдХреЛ рдиреЛрдЯрд┐рд╕ рди рдХрд░ рд╕рдХреЗред
рдХреЛрдб рдЬреЛ рдЖрдкрдиреЗ рдКрдкрд░ рджреЗрдЦрд╛ рдерд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдмрд╣реБрдд рд╣реА рдХреНрд░реВрдб рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП, рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, Google рдореЗрд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдмрд╛рдж, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЗрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп, рдХреБрдЫ рдЙрдиреНрдорддреНрдд рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╣рд╛рдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реАрдзреЗ рдХрдиреЗрдХреНрд╢рди рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Mail.ru рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рд╣реИ: SSL рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕реАрдзреЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд▓реЙрдЧрд┐рди рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдкрдХрдбрд╝рдиреЗ рдХрд╛ рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдЧрд┐рди рдлреЙрд░реНрдо рд╕рд╛рдЗрдЯ рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рд╣реИ, рдЬрд┐рд╕реЗ https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрд╢реЛрдзрди рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦрдХрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд╕рдм рддрдХрдиреАрдХреА рднрд╛рдЧ рдХреЗ рд╕рд╛рде рд╣реИред рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛: рдирдИ рдкреНрд░рд╡реГрддреНрддрд┐рдпрд╛рдБ рдПрд╕рдПрд╕рдЯреА рдХреЛ рд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреНрдпрд╛рд╕ рдореЗрдВ
рдирд┐рд╖реНрдХрд░реНрд╖
- рдмреБрдХрдорд╛рд░реНрдХ рдореЗрдВ рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ рддреБрд░рдВрдд https-рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдПрдХ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рди рдХрд░реЗрдВ
- рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЬрд┐рд╕ рдкреГрд╖реНрда рдкрд░ рдЖрдк рдЗрд╕реЗ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ
- рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП: рд▓реЛрдЧреЛрдВ рдХреЛ рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрдВред Http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлреЙрд░реНрдо рд▓реЛрдб рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдкреГрд╖реНрда рдкрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рдФрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╕рд╛рдордЧреНрд░реА рди рдорд┐рд▓рд╛рдПрдВред
рдХрд╣рд╛рдиреА рдХрд╛ рд╕рдорд╛рдкрди
рдФрд░ рдХрд╣рд╛рдиреА, рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╢реБрд░реВ рд╣реБрдИ, рдХрд╛рдиреВрдиреА рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ - рдореЗрд▓рдмреЙрдХреНрд╕ рдПрди рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рд╢реНрди рднреАред рд╡рд╣реА рдХрд╛рдо Mail.ru рдкрд░ рджреВрд╕рд░реЗ рдореЗрд▓рдмреЙрдХреНрд╕ рдФрд░ VKontakte рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореИрдВрдиреЗ рдПрдХ рджрд┐рди рдореЗрдВ рд╕рднреА рдкрд╛рд╕рд╡рд░реНрдб рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ, рд▓реЗрдХрд┐рди рдЕрдЧрд▓реА рд╕реБрдмрд╣ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд▓реИрдкрдЯреЙрдк рдореЗрдВ рдХреЛрдИ рдмреИрдЯрд░реА рдирд╣реАрдВ рдереАред рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛, рдЯреНрд░реЗрди рдореЗрд░рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реА рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреА рдмреИрдЯрд░реА рдХреЗ рдмрджрд▓реЗ рдкрд╛рд╕рд╡рд░реНрдб рджрд┐рдПред