рд╕реАрдЬреАрдЖрдИ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рднрд╛рд╖рд╛? - рдЖрд░рд╛рдо рд╕реЗ!

рд▓реЗрдЦ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рд░реНрдлрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦрдХ рд╕реЛрдЪрддрд╛ рд╣реИ, рдореБрдЭреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред рдпрд╣рд╛рдВ рдЬреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕рдХрд╛ рдмрд╣реБрдд (рдЕрдЧрд░ рд╕рднреА рдирд╣реАрдВ) рдкреБрд░рд╛рдирд╛ рд╣реИ, рдФрд░ рдкрд╣рд▓реА рдирдЬрд░ рдореЗрдВ рдмреЗрдХрд╛рд░ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, 6 рд╕рд╛рд▓ рдмрд╛рдж рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдерд╛ред So.

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





рд╕реАрдЬреАрдЖрдИ рд╕рд┐рджреНрдзрд╛рдВрдд


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

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

- рдПрдХ рд╡реЗрдм рдХреНрд▓рд╛рдЗрдВрдЯ (рдЬреИрд╕реЗ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░) URL рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддрд╛ рд╣реИ;

- рд╡реЗрдм рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ, рдпрд╣ рдЕрдиреБрд░реЛрдз рдЖрдорддреМрд░ рдкрд░ рджреЛ GET рдпрд╛ POST рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;

- рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЕрдиреБрд░реЛрдз рд╕реЗ рдбреЗрдЯрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдкрддреНрд░ рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди) рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕реАрдЬреАрдЖрдИ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЗрд╖рд┐рдд рд╕реАрдЬреАрдЖрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;

- рд╕реАрдЬреАрдЖрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреНрд▓рд╛рдЗрдВрдЯ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд╣ рдЙрд╕реА рд╕реАрдЬреАрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ рдЗрд╕реЗ рд╕реАрдзреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддрд╛ рд╣реИ;

- рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдорд╛рдирдХ CGI рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

- рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ - рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╡реЗ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ;

- рдорд╛рдирдХ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо (рдПрд╕рдЯреАрдбреАрдЖрдИрдПрди) - рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ;

- рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо (STDOUT) - рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЗрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ;

- рдХрдорд╛рдВрдб рд▓рд╛рдЗрди - рдЗрд╕рдореЗрдВ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рдирдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рд╕реАрдЬреАрдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд, рддрдерд╛рдХрдерд┐рдд "рд╡рд┐рдВрдбреЛрдЬ рд╕реАрдЬреАрдЖрдИ"ред рд▓реЗрдХрд┐рди, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдорд╛рдирдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реАрдЬреАрдЖрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореИрдВ "рд╡рд┐рдВрдбреЛрдЬ рд╕реАрдЬреАрдЖрдИ" рдорд╛рдирдХ рдХреЛ рдирд╣реАрдВ рдЫреВрдКрдВрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рджреЛ рдХрд╛рд░рдг рд╣реИрдВ - рдкрд╣рд▓рд╛ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг - рдлрд┐рд▓рд╣рд╛рд▓, рд╕рднреА HTTP-рд╕рд░реНрд╡рд░ рдЗрд╕ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореЗрд░реА рдкрд╕рдВрджреАрджрд╛ Apache 1.3.19) ред рдЖрдк рдХрд┐рд╕реА рднреА рдЦреЛрдЬ рдЗрдВрдЬрди рдореЗрдВ рд▓рд╛рдЗрди "рд╡рд┐рдВрдбреЛрдЬ рд╕реАрдЬреАрдЖрдИ" рдЯрд╛рдЗрдк рдХрд░рдХреЗ рджреВрд╕рд░рд╛ рдХрд╛рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рдиреЛрдЯ рдХрд░реВрдВрдЧрд╛ - рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдВрдбреЛрдЬрд╝ * .ini рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ GetPStreetProfile * рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд░реНрд╡рд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд┐рд░ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╕рдВрдмрдВрдзрд┐рдд рдЖрдИрдПрдирдЖрдИ-рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ CGI рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреМрди рд╕реЗ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ? - рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреАред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рднреА рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рддрд╕реНрд╡реАрд░ рдпрд╛ рд╕рдВрдЧреАрдд рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ред рдбреЗрдЯрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ GET рд╡рд┐рдзрд┐ рдФрд░ POST рд╡рд┐рдзрд┐ рд╣реИред рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдкреЗрдЬ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреЙрд░реНрдо рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ рддрд░реАрдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдореБрдЦреНрдп рдлреЙрд░реНрдо рдЯреИрдЧ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдЬреАрдИрдЯреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбреЗрдЯрд╛ рднреЗрдЬрддреЗ рд╕рдордп, рдбреЗрдЯрд╛ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдлреЙрд░реНрдо рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ URL рдХреЗ рдмрд╛рдж рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдХреЗ рдкреАрдЫреЗ, рдпрджрд┐ рдлреЙрд░реНрдо рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрд╝реАрд▓реНрдб рд╣реИрдВ, рддреЛ рд╡реЗ рд╕рднреА "рдФрд░" рдЖрдЗрдХрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдлрд╝реАрд▓реНрдб рдХрд╛ рдирд╛рдо рдФрд░ рдЗрд╕рдХрд╛ рдорд╛рди URL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ = тАЭред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдмрдЯрди "рд╕реНрдХреНрд░рд┐рдкреНрдЯ /cgi-bin/test.exe" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝реЙрд░реНрдо рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдЕрдиреБрд░реЛрдз рдмрд╛рдзреНрдп рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдлрд╝реЙрд░реНрдо рдХреЗ рдкрд╣рд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЛ "your_name" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ "your_age", рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

GET /cgi-bin/test.exe?your_name=Pupkin&your_age=90 HTTP / 1.0

рдЬреАрдИрдЯреА рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ - рдкрд╣рд▓реА рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ URL рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИред рджреВрд╕рд░реА рдХрдордЬреЛрд░реА рдлрд┐рд░ рдпреВрдЖрд░рдПрд▓ рд╕реЗ рд╣реЛрддреА рд╣реИ - рдпрд╣ рдЧреЛрдкрдиреАрдпрддрд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде, рдбреЗрдЯрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓рд╛ рд░рд╣рддрд╛ рд╣реИред рддреЛ, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлреЙрд░реНрдо рдореЗрдВ 2-3 рдЫреЛрдЯреЗ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ ... рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВ? рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ POST рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ!

POST рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдореЗрдВ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ URL рдореЗрдВ, рдЬреЛ рдХреБрдЫ рд╣рдж рддрдХ рд╣рдорд╛рд░реЗ рд╣рд╛рдереЛрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╕реВрдЪрдирд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓ рджреЗрддрд╛ рд╣реИ, POST рдлреЙрд░реНрдо рдХреЗ рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдмреНрд▓реЙрдХ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:



POST /cgi-bin/test.exe HTTP/1.0

Accept: text/plain

Accept: text/html

Accept: */*

Content-type: application/x-www-form-urlencoded

Content-length: 36

your_name=Pupkin&your_age=90








рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ CGI рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдорд╛рдирдХ CGI рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ, GET рдЕрдиреБрд░реЛрдз рдХреЗ рджреМрд░рд╛рди рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ QUERY_STRING рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм POST рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдорд╛рдирдХ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдЗрд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде, рд╕рд░реНрд╡рд░ рджреЛ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ - CONTENT_LENGTH рдФрд░ CONTENT_TYPE, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рдЗрдЯреНрд╕ рдФрд░ рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбреЗрдЯрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд░реНрд╡рд░ рдХреЙрд▓ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЕрдиреНрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рджреЗ рджреВрдВрдЧрд╛:



REQUEST_METHOD

рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХрд┐рд╕ рдкрджреНрдзрддрд┐ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдЙрджрд╛рд╣рд░рдг: REQUEST_METHOD = GET



QUERY_STRING

рдпрджрд┐ рдЬреАрдИрдЯреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ

рдЙрджрд╛рд╣рд░рдг: QUERY_STRING = your_name = Pupkin & your_age = 90 & hobby = asm



CONTENT_LENGTH

рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд▓рдВрдмрд╛рдИ

рдЙрджрд╛рд╣рд░рдг: CONTENT_LENGTH = 31



CONTENT_TYPE

рд╢рд░реАрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ



GATEWAY_INTERFACE

CGI рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд╕реНрдХрд░рдг

рдЙрджрд╛рд╣рд░рдг: GATEWAY_INTERFACE = CGI / 1.1



REMOTE_ADDR

рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛, рдпрд╛рдиреА рдХреНрд▓рд╛рдЗрдВрдЯ рдЬреЛ рдлреЙрд░реНрдо рдореЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ

рдЙрджрд╛рд╣рд░рдг: REMOTE_ADDR = 10.21.23.10



REMOTE_HOST

рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рдХрд╛ рдирд╛рдо, рдпрд╣ рдЙрд╕рдХрд╛ рдбреЛрдореЗрди рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдирд╛рдо, рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЙрд╕рдХрд╛ рдЖрдИрдкреА рд╢рд╛рдорд┐рд▓ рд╣реИ

рдЙрджрд╛рд╣рд░рдг: REMOTE_HOST = wasm.ru



рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдоред

рдЙрджрд╛рд╣рд░рдг: SCRIPT_NAME = / cgi-bin / gols.pl



SCRIPT_FILENAME

рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдоред

рдЙрджрд╛рд╣рд░рдг: SCRIPT_FILENAME = c: /page/cgi-bin/gols.pl



SERVER_SOFTWARE

рд╕рд░реНрд╡рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░

рдЙрджрд╛рд╣рд░рдг: Apache / 1.3.19 (WIN32)

рд╕реАрдЬреАрдЖрдИ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рд╕реА рднреА рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

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



рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛


рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 3 рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдХреБрдЫ http рд╕рд░реНрд╡рд░, рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП Apache 1.3.19 рдкрд░ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╕рд░реНрд╡рд░ рдореБрдлреНрдд рд╣реИ, рдЖрдк рдЗрд╕реЗ i рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд╣рд╛рдБ, рдФрд░ рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЬреЛ рдПрдХ рд╣реИ, рд▓реЗрдХрд┐рди cgi- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ! рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред рджреВрд╕рд░реА рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреЛрдбрд╛рдВрддрд░рдХ, рдпрд╣ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рдХ рдХрдВрд╕реЛрд▓ Win32 рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдореИрдВ Tasm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди Fasm рдФрд░ Masm рдФрд░ рдХрдИ рдЕрдиреНрдп * asm рдХреЗ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдЗрдЪреНрдЫрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ index.html рдлрд╝рд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╣реЛ, рдЬреЛ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд░ рдореЗрдВ 127.0.0.1 рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдкрд░ рдареАрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦреВрдВрдЧрд╛ рдХрд┐ рд╕рд░реНрд╡рд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ wilds рдореЗрдВ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдПрдХ cgi-bin рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред

рдЪрд▓реЛ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВред рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдирд┐рдпрдорд┐рдд * .bat рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред рдореИрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдкреВрд░реНрд╡рд╛рднрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдБ - рдХреИрд╕реЗ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ? рд╣рд╛рдВ, рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реАрдЬреАрдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рдмрджрд▓реЗ рдореЗрдВ, рд╕реНрдЯрдб / рд╕реНрдЯрдбрдЖрдЙрдЯ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, рдПрдХ рдмреИрдЯ рдлрд╝рд╛рдЗрд▓, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдХрд╛рдлреА рдЦреБрд╢ рд╣реИрдВред рдЪрд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ:



@echo off

rem

echo Content-type: text/html

echo.

rem

echo "!<br>

echo " GET : %QUERY_STRING%








рд╣рдо рдлрд╝рд╛рдЗрд▓ test.bat рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ "cgi-bin" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрдЧреАред рдЕрдЧрд▓реА рдЪреАрдЬрд╝ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡рд╣ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдЗрд╕реЗ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдбреНрд░реЗрд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рд▓рдЧрднрдЧ "http://127.0.0.1/cgi-bin/test.bat" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ, рдЙрд╕реА рд╕рдордп GET рд╡рд┐рдзрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд░реВрдЯ рдореЗрдВ рдПрдХ index.html рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:



 <html> <рд╕рд┐рд░>
 <meta content = "text / html; charset = windows-1251" http-equiv = рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░>
 </ Head>
 <form name = "Test" рдореЗрдердб = get action = "/ cgi-bin / test.bat">
 <рдХреЗрдВрджреНрд░> <рдЯреЗрдмрд▓ рдмреЙрд░реНрдбрд░ = 1 рд╕реЗрд▓рд╕реНрдкреЗрд╕рд┐рдВрдЧ = 0>
 <tr bgcolor = "# e0e0e0"> <td colspan = 2> <font face = arial size = 2>
 <рдХреЗрдВрджреНрд░> <b> рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ: </ b> </ рдХреЗрдВрджреНрд░>
 </ font> </ td> </ tr>
 <tr> <td> <font face = arial size = 2>
 <b> рдбреЗрдЯрд╛: </ b> </ font> </ td>
 <td> <font face = arial size = 2>
 <textarea row = "3" cols = "55" рддрд╛рдирд╛ = "рднреМрддрд┐рдХ" рдирд╛рдо = "рдбреЗрдЯрд╛"> </ararit>
 </ font> </ td> </ tr> <tr bgcolor = "# e0e0e0">
 <td colspan = 2> <рдХреЗрдВрджреНрд░>
 <рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ = "рд╕рдмрдорд┐рдЯ" рдореВрд▓реНрдп = "рднреЗрдЬреЗрдВ!">
 </ рдХреЗрдВрджреНрд░> </ td>
 </ tr> </ table> </ рдХреЗрдВрджреНрд░> </ form> </ body> </ html> 




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

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрдХреЛ рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реНрдЯрдбрдЖрдЙрдЯ рдХрд░рддрд╛ рд╣реИ, рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╕рд░реНрд╡рд░ рдХреЛ рд╣рдорд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╣реЗрдбрд░ рднреЗрдЬрддреА рд╣реИ - рдЗрдХреЛ рдХрдВрдЯреЗрдВрдЯ-рдЯрд╛рдЗрдк: рдЯреЗрдХреНрд╕реНрдЯ / htmlред рдпрд╣ CGI рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХрд╛ рдорд╛рдирдХ рд╢реАрд░реНрд╖рдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рдпрд╛ html рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЕрдиреНрдп рд╣реЗрдбрд░ рд╣реИрдВред рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ - рд╣реЗрдбрд░ рдХреЛ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдмреЙрдбреА рд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рд╣рдо рдЕрдЧрд▓реЗ рдХрдорд╛рдВрдб "рдЗрдХреЛ" рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╢рд░реАрд░ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд HTML-рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ, рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреНрд░реЗрд╖рд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ - "QUERY_STRING", рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА GET рд╡рд┐рдзрд┐ (рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдЗрд╕ рдЪрд░ рдореЗрдВ рдпрд╣ рдареАрдХ рд╣реИ) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рджрд░реНрдЬ рдбреЗрдЯрд╛, рдЬрд┐рд╕реЗ рд╣рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк "рдЗрдХреЛ" рдХреЗ рдареАрдХ рдмрд╛рдж, рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдВрддрд┐рдо 2 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ "рд╕реНрдерд╛рди рд╕реЗ рдмрд╛рд╣рд░ рдЙрджреНрдзрд░рдг" рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рд╡рд╣рд╛рдБ рд╣реИрдВ, рдЬреЛ рдмреИрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ html рдЯреИрдЧ рд╡рд░реНрдг "<" рдФрд░ ">" рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдпреЗ рдЪрд┐рд╣реНрди рдмреИрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдРрд╕реА рдмреИрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЦреЗрд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЕрдиреНрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рдереЛрдбрд╝рд╛ рд╣рдЯрдХрд░ рдХрд╣рддрд╛ рд╣реВрдВ, UNIX рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдХрдорд╛рдВрдб рджреБрднрд╛рд╖рд┐рдпрд╛ рднрд╛рд╖рд╛рдПрдВ рдмрд╣реБрдд рд╡рд┐рдХрд╕рд┐рдд рд╣реИрдВ рдФрд░ рдПрдХ рдХрдорд╛рдВрдб рджреБрднрд╛рд╖рд┐рдпрд╛ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдХреА рд░реЗрдЦрд╛ рдмрд╣реБрдд рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдзреБрдВрдзрд▓реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреВрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВред рдпрд╣ рдХрдорд╛рдВрдб рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░реНрд╕ рдХреА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬрд╝-рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ cmd.exe рдпрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдХрдорд╢реЙрдЯреНрд╕ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдордЬреЛрд░ рд╣реИрдВред

рдЕрдм рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдбрд╛рдВрддрд░рдХ рдореЗрдВ рдПрдХ CGI рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрджрд┐ рд╣рдо CGI рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ CGI рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



рдпрд╣ рдкреВрд░реНрдг CGI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЖрдЦрд┐рд░реА рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, GetEnvironmentStrings API рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ (NAME = VALUE) рдХреЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдПрдХ рд╕реВрдЪрдХ рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рд░рдгреА рдПрдХ рдбрдмрд▓ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдмрдВрдж рд╣реЛ рдЬрд╛рддреА рд╣реИред рдорд╛рдирдХ рдЪрд░ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ CGI рдЪрд░ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред

рд╕реНрдЯрдбрдЖрдЙрдЯ рд╕реЗ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдпрд╛ рд╕реНрдЯрдбрд┐рди рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЗрди рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╣реИрдВрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ, рдпрд╣ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди "рдЧреЗрдЯреНрд╕рдереИрдВрдбрд▓" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рдореНрди рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:







рдлрд╝рдВрдХреНрд╢рди рдЙрд╕ рд╣реИрдВрдбрд▓ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд▓реА рдЪреАрдЬрд╝ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рд╡рд╣ рдЗрди рдереНрд░реЗрдбреНрд╕ рдХреЛ рд▓рд┐рдЦрдирд╛ / рдкрдврд╝рдирд╛ рд╣реИред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рд░реАрдб / рд░рд╛рдЗрдЯ рдСрдкрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд ReadFile рдФрд░ WriteFileред рдпрд╣рд╛рдВ рдПрдХ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╣реИ, рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП WriteConsole / ReadConsole рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рдБ рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдЪрд┐рдд рд╣реИ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдкрд░рд┐рдгрд╛рдо, рд╕рд╛рде рд╣реА WriteFile, рдХрдВрд╕реЛрд▓ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рддрдХ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ рд╣рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдоред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рд╣рдорд╛рд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЧреЗрдЯреНрд╕рдерд╛рдВрдбрд▓ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рд░рд┐рдЯрд░реНрди рдЕрдм рдХрдВрд╕реЛрд▓ рдХреЗ рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдЬреИрд╕реЗ, рд╡реЗ рдкрд╛рдЗрдк рд╣реИрдВрдбрд▓ рд╣реЛрдВрдЧреЗ, рдЬреЛ рджреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдПрдХ CGI рдХреЛрдбрд╛рдВрддрд░рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:



.386

.model flat,stdcall

includelib import32.lib

.const

PAGE_READWRITE = 4h

MEM_COMMIT = 1000h

MEM_RESERVE = 2000h

STD_INPUT_HANDLE = -10

STD_OUTPUT_HANDLE = -11



.data

hStdout dd ?

hStdin dd ?

hMem dd ?

header:

db 'Content-Type: text/html',13,10,13,10,0

start_html:

db ' CGI- : <br>',13,10,0

for_stdin:

db ' STDIN : <br>',13,10,0

end_html:



db '',13,10,0

nwritten dd ?

toscr db 10 dup (32)

db ' - ',0

.code

_start:



xor ebx,ebx

call GetStdHandle,STD_OUTPUT_HANDLE

mov hStdout,eax

call GetStdHandle,STD_INPUT_HANDLE

mov hStdin,eax



call write_stdout, offset header

call write_stdout, offset start_html



call VirtualAlloc,ebx,1000,MEM_COMMIT+MEM_RESERVE,PAGE_READWRITE

mov hMem,eax

mov edi,eax

call GetEnvironmentStringsA

mov esi,eax

next_symbol:

mov al,[esi]

or al,al

jz end_string

mov [edi],al

next_string:

cmpsb

jmp short next_symbol

end_string:

mov [edi],'>rb<'

add edi,3

cmp byte ptr [esi+1],0

jnz next_string

inc edi

stosb

call write_stdout, hMem

call write_stdout, offset for_stdin



call GetFileSize,[hStdin],ebx

mov edi,hMem

call ReadFile,[hStdin],edi, eax,offset nwritten, ebx

add edi,[nwritten]

mov byte ptr [edi],0

call write_stdout, hMem

call write_stdout, offset end_html

call VirtualFree,hMem

call ExitProcess,-1



write_stdout proc bufOffs:dword

call lstrlen,bufOffs

call WriteFile,[hStdout],bufOffs,eax,offset nwritten,0

ret

write_stdout endp

extrn GetEnvironmentStringsA:near

extrn GetStdHandle:near

extrn ReadFile:near

extrn WriteFile:near

extrn GetFileSize:near

extrn VirtualAlloc:near

extrn VirtualFree:near

extrn ExitProcess:near

extrn lstrlen:near

ends

end _start








рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ:

tasm32.exe / ml test.asm

tlink32.exe / Tpe / ap / o test.obj

рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдХрдВрд╕реЛрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдКрдкрд░ рд╡рд░реНрдгрд┐рдд html рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдмрд╕ рдирд╛рдо test.bat рдХреЛ test.exe рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ / cgi-bin / рдкрд░ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрд░рдорд╢рдГ, рдЖрдк рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐ рдореЗрдВ POST рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдпрд╣ рднреА рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП cgi-bin рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рд▓рд╛рдЗрди "#! C: / _ path_ / test.exe" рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ, рдФрд░ рд╕рд░реНрд╡рд░ рдореЗрдВ рдмрджрд▓реЗ рдореЗрдВ, рдпрд╣ рдЕрдкрдиреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдкрдврд╝реЗрдЧрд╛ рдФрд░ exe-file рдХреЛ рдЪрд▓рд╛рдПрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ * .cgi рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ http-server рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рд╕рд░реНрд╡рд░ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди "test.exe path_to_test.exe" рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛, рдЗрд╕рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ - рдкрд╣рд▓рд╛ рдпрд╣ рдХрд┐ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрдпрд╛ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ, рджреВрд╕рд░рд╛ - рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдиреА рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рд╡реИрд╕реЗ, рд╕рднреА рджреБрднрд╛рд╖рд┐рдП рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рдЖрдкрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╕рднреА рдкрд░реНрд▓ / php / etc рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рдВрдХреЗрдд рд╣реЛрддрд╛ рд╣реИред рдЯреАрдо рдкрд░ рдирдЬрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реА rpretatorред рдЗрд╕рд▓рд┐рдП, рдПрдХ cgi- рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рд╕рд░реНрд╡рд░, рдЕрдЧрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрдврд╝рддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд░ рдпрд╣ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╣реЛ, рддреЛ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдПрдХ рд╕реНрдкреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ, рдорд╛рди рд▓реАрдЬрд┐рдП рд░реЗрдЦрд╛ рдореЛрддреА рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ, рдРрд╕рд╛ рдЙрдкрд╣рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░, рдЗрд╕рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЛрддреА рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА "#" рдкреНрд░рддреАрдХ рд╣реИ, рдлрд┐рд░ рдпрд╣ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЧреЗ рдЪрд▓рддреА рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдмрд╛рдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред



All Articles