рдХрд╛рдо рдФрд░ рдШрд░ рдкрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА

рддрд╛рд▓рд╛ рдФрд░ рдЪрд╛рдмреА рдХреЗ рддрд╣рдд рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд╕реЗ рдкреНрд░реЗрд░рд┐рддред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░рд╛ рд▓реЗрдЦ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреГрддрд┐ рдХрд╛ рд╣реИред

рдореИрдВ рдПрдХ рдкрд╢реНрдЪрд┐рдореА ... рдирд╣реАрдВ, рдЕрднреА рддрдХ рдПрдХ рдЙрддреНрддрд░реА рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╢реЛрдз рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдХрдИ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рд╣реИрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣рд╛рдБ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдХрдИ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рджреА рдЧрдИ рд╣реИ (рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдЖрдирдВрдж рдХреА рд▓рд╛рдЧрдд рдХрд┐рддрдиреА рд╣реИ ... рдирд╣реАрдВ, рдРрд╕рд╛ рдирд╣реАрдВ - рд╣рдорд╛рд░реЗ рд▓реЗрдЦреЛрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдмреБрд░реНрдЬреБрдЖ рд▓рд╛рдн рд╣реИрдВ?)ред рдореЗрд░реЗ рд╡рд┐рд╖рдп рдкрд░, рдРрд╕реЗ рддреАрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ - рдПрд╕реАрдПрдо, рдЖрдИрдИрдИрдИ рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЧрд░ред рдФрд░ рдЙрдирдореЗрдВ - рд╢реЗрд░ рдХреА рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рдПрдХ рд╣реИред

рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдИрдмреА) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрдИрдкреА рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирддреА рд╣реИред рд╢рд╛рдпрдж рдореИрдВ рдЧрд▓рдд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЙрди рддрдХ рдкрд╣реБрдВрдЪ рдХреЗрд╡рд▓ рддрднреА рдЦреБрд▓реА рд╣реИ рдЬрдм рдХрдВрдкреНрдпреВрдЯрд░ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ (рдПрдХ рдореБрдбрд╝ рдЬреЛрдбрд╝реА рдХреЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдХрдо рд╕реЗ рдХрдо, рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рдкрдиреНрдиреЛрдВ рдкрд░ рдпрд╣ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдирдХреА рд╕рджрд╕реНрдпрддрд╛ рдкрд░ рдореИрдВ рд▓реЗрдЦ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╣ рдХреЗрд╡рд▓ рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреИрд╕реЗ рд╣реА рдИрдмреА рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдкреИрд╕реЗ рдорд╛рдВрдЧрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдмрд╛рд╣рд░ рдореИрдВ рдХреЗрд╡рд▓ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдФрд░ рдореЗрд░реЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рдо рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд▓реНрдХред

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореИрдВрдиреЗ рдШрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдареАрдХ рд╣реИ, рдореИрдВ рдордЬрд╛рдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: рдЬреЛ рддреАрди рдХрдмреНрд░реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ ...) рдпрд╛ рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░ рдпрд╛рддреНрд░рд╛ рдкрд░ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ, рдпрд╛ рдмрд╕ рдЗрд╕реЗ рдкрдврд╝реЗрдВ, рдЕрдВрдд рдореЗрдВ (рдмрд╣реБрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓рд╛) ? рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╕реНрдерд╛рдиреАрдп рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдиреЗ рдХреЗрд╡рд▓ рдореБрдЭреЗ рдкреНрд░рд╕рдиреНрди рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдИрдмреА рджреВрд░ рд╕реЗ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪреЗрдВ, рдЗрд╕ рдкрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╣ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдереЗред рдмрд┐рдирд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд╡рд╛рджреЗ рдХреЗред рдмрд╛рдж рдореЗрдВ рдореБрдЭреЗ рдПрдХ рд╕рд╣рдХрд░реНрдореА рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрдХ рд░рд╛рд╖реНрдЯреНрд░рд╡реНрдпрд╛рдкреА рд╕рдВрд╕рд╛рдзрди рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЕрд╕реНрдерд┐рд░ рд╣реИ - рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдореЗрд░реЗ рд╕рд╣рдХрд░реНрдореА рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рд╡рд╣ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдИрдмреА рд╕реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реБрдЖред ред

рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдЦреБрдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреАрдПрдЪрдкреА рдФрд░ рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреМрд╢рд▓ рд╣реИрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИрдВ (рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рд╕рджрд╕реНрдпрддрд╛ рдорд╛рдиреНрдп рд╣реИ), рдФрд░ рдЖрдк рдЙрдирдореЗрдВ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╡рд┐рдЪрд╛рд░:

PHP рдХреЗ рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдХреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реА рдЧрдИ (рдПрд░рд┐рдХ-рд╕реЗрдмреЗрд╕реНрдЯрд┐рдпрди рд▓реИрд╢реИрдВрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж) рд╕рднреА HTTP рд╣реЗрдбрд░ (рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдХреАрдЬрд╝ рд╕рд╣рд┐рдд) рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ред рдпрд╣ рд╕рдЪ рд╣реИ, рдЗрд╕реЗ 1 рдХреЗ рдХреНрд░рдо рдореЗрдВ рдмрд╣реБрдд рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдбреЛрдореЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВ, рдФрд░ 2) рдХреЗрд╡рд▓ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдФрд░ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ (рдареАрдХ рд╣реИ, рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ ...), рдФрд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЙрдЧ рдСрди рд╣реИ (рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░, рдЖрдк рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реИрд╕реЗ, рдпрд╣ рдЪрд░рдг рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЦреБрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдореЗрдВ, рд▓реЗрдЦ рдХреЗ рдкреАрдбреАрдПрдл рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ URL рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рд╕рддреНрд░ рдХреА рдПрдХ рдЖрдИрдбреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдкреНрд░реЙрдХреНрд╕реА рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкреГрд╖реНрда рдкрд░ рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд рдХреБрдХреА (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ JSESSIONID) рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдЦрд╛рддреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕рддреНрдпрд╛рдкрди
function verifyUser($authCookieValue) { global $authCheckURL; global $authSuccessHTML; global $authCookieName; $result = false; $error = ''; // create a new cURL resource $ch = curl_init(); if ($ch !== false) { // set URL and other appropriate options $header = array(); $header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; $header[] = 'Accept-Language: en-US,en;q=0.5'; $header[] = 'Connection: close'; $header[] = 'DNT: 1'; curl_setopt($ch, CURLOPT_URL, $authCheckURL); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'); curl_setopt($ch, CURLOPT_COOKIESESSION, true); curl_setopt($ch, CURLOPT_COOKIE, $authCookieName.'='.$authCookieValue); curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate'); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // grab URL and pass it to the browser $response = curl_exec($ch); if($response === false) { $error = curl_error($ch); } else { $result = strpos($response, $authSuccessHTML) !== false; } curl_close($ch); } else { $error = 'cannot initialize cURL'; } return array( 'succeeded' => $result, 'error' => $error ); } 


Google Chrome рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЗрд╕рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ - рдкреГрд╖реНрда рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдХреЛрдб, рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдЯреИрдм рдФрд░ рдХреБрдХреАрдЬрд╝ рддрдХ рдкрд╣реБрдВрдЪ рд╡рд╛рд▓рд╛ рдХреЛрдб), рдФрд░ рдпрджрд┐ URL рддреАрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рддреЛ рдкреГрд╖реНрда рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдРрд╕реЗ рддрддреНрд╡ рдЬреЛ рд╣рд░ рдкреГрд╖реНрда рдкрд░ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдБ рдПрдХ рдкреАрдбреАрдПрдл рд▓реЗрдЦ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛ (рдкреНрд░рддреНрдпреЗрдХ рдИрдмреА рдХреЗ рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрддреНрд╡ рд╣реИрдВ)ред рдпрджрд┐ рдРрд╕реЗ рддрддреНрд╡ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреАрдбреАрдПрдл рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЧрдард┐рдд рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдЕрдиреБрд░реЛрдз рд╡рд╣рд╛рдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рд▓рд┐рдВрдХ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдкрд░ рдореМрдЬреВрдж рдбреЗрдЯрд╛ рдореЗрдВ рд╕реЗ рдХреИрд╕реЗ рдФрд░ рдХрд┐рд╕ рд╕рдордп рд╕реЗ рдХрд╛рдлреА рд╕рдордп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдПрд╕реАрдПрдо рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг
 // proxy config var PROXY_URL = 'http://university.org/~user/proxy.php?'; var PROXY_URL_QUERY = 'urlForProxy='; var PROXY_ID_QUERY = 'idForProxy='; // page search and modification const var ACM_PDF_LINK_NAME = 'FullTextPDF'; var ACM_ARTICLE_ID_NAME = 'id'; var ACM_PURCHASE_LINK = 'https://dl.acm.org/purchase.cfm'; var ACM_QUERY_URL = 'http://dl.acm.org/ft_gateway.cfm'; var ACM_QUERY = 'id={0}'; var ACM_LINK = '<a name="' + ACM_PDF_LINK_NAME + '" title="FullText PDF" href="{0}" target="_blank"><img src="imagetypes/pdf_logo.gif" alt="PDF" class="fulltext_lnk" border="0">PDF</a> [proxy]'; // requests to the background page var REQUEST_AUTH = 'auth'; function setACMLink() { var pdfLink = document.getElementsByName(ACM_PDF_LINK_NAME)[0]; if (!pdfLink) { var i, id, param; var params = window.location.search.substr(1).split('&'); for (i = 0; i < params.length; i++) { param = params[i].split('='); if (param[0] === ACM_ARTICLE_ID_NAME) { id = param[1].indexOf('.') > 0 ? param[1].split('.')[1] : param[1]; break; } } if (id) { var link = PROXY_URL + ACM_QUERY.format(id) + '&' + PROXY_URL_QUERY + encodeURIComponent(ACM_QUERY_URL); // purchase link is a placeholder for a link to PDF var a, container; var links = document.getElementsByTagName('a'); for (i = 0; i < links.length; i++) { a = links[i]; if (a.href.indexOf(ACM_PURCHASE_LINK) === 0) { container = a.parentNode; container.innerHTML = ACM_LINK.format('#'); setClick(container.childNodes[0], link); break; } } } } } function setClick(elem, link) { elem.addEventListener('click', function (e) { commPort.postMessage({name: REQUEST_AUTH, href: link}); e.preventDefault(); return false; }); } 


рдЬрдм рдЖрдк рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░ рд╕рддреНрд░ рдЖрдИрдбреА рд╕рд╣рд┐рдд рдПрдХ рдХреБрдХреА рдореВрд▓реНрдп рдЕрдиреБрд░реЛрдз рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред
рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рд╕рддреНрд░ рдЖрдИрдбреА рдЬреЛрдбрд╝рдирд╛
рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛрдб рдореЗрдВ:
 // config var AUTH_URL = 'https://university.org/intranet'; var AUTH_COOKIE = 'JSESSIONID'; // const var REQUEST_AUTH = 'auth'; chrome.runtime.onConnect.addListener(function (port) { port.onMessage.addListener(function (request) { var answer = {toRequest: request.name}; if (request.name === REQUEST_AUTH) { // check the authorization on the select web-site answer.href = request.href; answer.result = false; answer.id = ''; chrome.cookies.get({url: AUTH_URL, name: AUTH_COOKIE}, function (cookie) { if (cookie) { answer.result = true; answer.id = cookie.value; } port.postMessage(answer); }); } }); }); 

рдкреГрд╖реНрда рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ:
 var commPort = chrome.runtime.connect(); commPort.onMessage.addListener(function (answer) { if (answer.toRequest === REQUEST_AUTH) { // add an authorization id, and send the request to to the proxy window.location = answer.href + '&' + PROXY_ID_QUERY + answer.id; } }); 


рд╕рдЪ рд╣реИ, IEEE рдкрд░ рд▓реЗрдЦ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ IEEE рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕рдХреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдЦрд╛рддреЗ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХрд┐рд╕реА рднреА рдкреГрд╖реНрда рдХреЛ рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдХреНрд░реЛрдо рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреИрдм рдЦреБрд▓рддрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) рддрд╛рдХрд┐ рдЙрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдХреБрдХреАрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреБрдХреАрдЬрд╝ рдореЗрдВ рдбреЛрдореЗрди рдФрд░ рдкрде рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХрд░рдирд╛ рдерд╛ (рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╡реИрдХрд▓реНрдкрд┐рдХ рдерд╛) PHP рдореЗрдВ рддрд╛рдХрд┐ рд╡реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкреНрд░реЗрд╖рд┐рдд рд╣реЛ рд╕рдХреЗрдВ: рд╡реЗ (= рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж) рдбреЛрдореЗрди = ieeexplore.ieee рдкрд░ рдЖрдПрдВрдЧреЗ .org, рдФрд░ PDF рдХрд╛ рд▓рд┐рдВрдХ рдкрд╣рд▓реЗ рд╕реЗ .ieeexplore.ieee.org / query рдХреЛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди Univers.org/~user/proxy?url= ieeexplore.ieee.org% 5Fquery рдкрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдбреЛрдореЗрди = рдкрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред Univers.org, рдкрде = / ~ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдкреНрд░реЙрдХреНрд╕реАред
IEEE рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреБрдХреАрдЬрд╝ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди
 // config $cookieDomain = '.university.org'; $cookiePath = '/~user'; $headerArray = explode("\r\n", $response['header']); $js = ''; foreach ($headerArray as $headerLine) { if (strpos($destinationURL, 'ieee.org') !== false) { if (strpos($headerLine, 'Set-Cookie: ') !== false) { $cookieArray = explode(': ', $headerLine, 2); $headerLine = $cookieArray[0].': '; $cookieDataArray = explode('; ', $cookieArray[1]); $isFirstKey = true; $js .= ' document.cookie = "'; foreach ($cookieDataArray as $cdKey => $cookieData) { list($cname, $cvalue) = array_merge(explode('=', $cookieData), array('')); if ($cname === 'domain') { $cvalue = $cookieDomain; $cookieDataArray[$cdKey] = $cname.'='.$cvalue; } if ($cname === 'path') { $cvalue = $cookiePath; $cookieDataArray[$cdKey] = $cname.'='.$cvalue; } $headerLine .= ($isFirstKey ? '' : '; ').$cookieDataArray[$cdKey]; $js .= ($isFirstKey ? '' : '; ').$cookieDataArray[$cdKey]; $isFirstKey = false; } $js .= "\";\r\n"; } header($headerLine); if (strlen($js) > 0) { echo "\r\n<script>\r\n".$js.'</script>'; // insert JS code into the page to set IEEE session and identification cookies } } else { foreach ($headerArray as $headerLine) { header($headerLine); } } } 


рдЖрдЦрд┐рд░реА рдмрд╛рдд рдЬреЛ рдореИрдВ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╡рд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реИрдВ:

рдФрд░ рдпрд╣рд╛рдБ рдкреВрд░рд╛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣реИ ред

рдкреБрдирд╢реНрдЪ рдпрджрд┐ рдХреЛрдИ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕рдорд╛рди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдЬрд╛рдирддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рдЖрдк рдХреЛрдб рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕реЗ рдЧреАрдереВрдм рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдФрд░ рдпрджрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрдЪреНрдЫрд╛рдПрдВ рд╣реИрдВ, рддреЛ рдореИрдВ рдРрд╕рд╛ рдХрд░реВрдВрдЧрд╛ред
PPS рдХреЛрдб рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбрд╛рдВрдЯрддрд╛ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЗ рдореБрдХрд╛рдмрд▓реЗ (рд╡рд┐рд╢реЗрд╖рдХрд░ IEEE рдкрд░) рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдкреНрд░реЙрдХреНрд╕реА рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рд╣реИрдВред рдпрд╣ рднреА рдЕрдзреВрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд▓рд┐рдВрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рди рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In192276/


All Articles