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

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝реА рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝реА рд╕реВрдЪрдирд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рддрдереНрдп рдХреА рдЫрд┐рдкрд╛рд╡ рд╣реИред
рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд╕реЗ рдЕрд▓рдЧ рдХреИрд╕реЗ рд╣реИ?рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд╛рдирдХрд╛рд░реА рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рддрдереНрдп рд╕реНрдкрд╖реНрдЯ рд╣реИред рдпрд╣реА рд╣реИ, рдЬрдм рдП рд╕реВрдЪрдирд╛ рдХреЛ рдмреА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдЧреБрдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдкрдбрд╝рдиреЗ рдкрд░ рдЗрд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛) рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдирд╣реАрдВ рд╣реИред
рд╕рдВрджреЗрд╢ рдХреЗ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд░реВрдкрд╛рдВрддрд░рдг рдЖрдкрдХреЛ рд╣рдорд▓рд╛рд╡рд░ рд╕реЗ рд╡рд░реНрдЧреАрдХреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рддрдереНрдп рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдмреА рд╢рд╛рдпрдж рдП рдФрд░ рдмреА рдХреЗ рдмреАрдЪ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдореВрд▓реНрдп рдирд╣реАрдВ рджрд┐рдЦреЗрдЧрд╛ред
рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╡рд┐рдзрд┐ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ?рд╕реВрдЪрдирд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рддрдереНрдп рдХреА рдЪрд┐рдВрддрд╛ рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИ рдЬреЛ рдЧреБрдкреНрдд рдпрд╛ рдЧреЛрдкрдиреАрдп рдЬрд╛рдирдХрд╛рд░реА рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдорд┐рд▓реЗрдЧреА, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╡рд╣ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдореВрд▓реНрдп рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ (рдХреНрдпреЛрдВ - рдиреАрдЪреЗ рд╕рдордЭрд╛рдПрдВ)ред
рдпрд╣ рдХреЗрд╡рд▓ рдлрд┐рд▓реНрдореЛрдВ рдореЗрдВ рд╣реИ рдХрд┐ рдирд╛рдпрдХ рдХреА рдЧреБрдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдПрдХ рдЕрднреЗрджреНрдп рд╕рд┐рдлрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рд╣рдорд▓рд╛рд╡рд░ рдирд╛рдпрдХ рдХреЛ рджреЛ рдореЛрдЯреА рдЬреА рдФрд░ рдбреА рднреЗрдЬреЗрдЧрд╛, рдЬреЛ рдЕрдЧрд▓реЗ рдЯреВрдЯреЗ рд╣реБрдП рд╕рдВрдпреБрдХреНрдд рдХреЗ рдмрд╛рдж рднреА рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдХреЛ рдкрд╣рдЪрд╛рдиреЗрдВрдЧреЗред
рд╕реНрдЯреЗрдЧреЛ рд╕рдВрджреЗрд╢ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдРрд╕реА рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреЗрдЧреЛ рд╕рдВрджреЗрд╢ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рддреЛ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝реА рдХрд╛ рдореБрдЦреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдЧреЛрдкрдиреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЦреБрд▓реЗ рдореЗрдВ рдЫрд┐рдкрд╛рдирд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдЬрд╛рдирдХрд╛рд░реАред рдЕрд░реНрдерд╛рддреН, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реВрдЪрдирд╛ (рдкрд╛рда, рдЪрд┐рддреНрд░, рдСрдбрд┐рдпреЛ, рдЖрджрд┐) рдХреЛ рдЕрдиреНрдп рд╕реВрдЪрдирд╛ (рдкрд╛рда, рдЪрд┐рддреНрд░, рдСрдбрд┐рдпреЛ, рдЖрджрд┐) рдХреЗ рдЕрдВрджрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрдВрдЯреЗрдирд░ (рдПрдХ рд╕реНрдЯреЗрдЧреЛ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рднрд░рд╛ рд╣реБрдЖ рд╣реИ) рдЬрд╛рдирдХрд╛рд░реА рд╣рд╛рдирд┐рд░рд╣рд┐рдд рд╕реЗ рдЕрдзрд┐рдХ рджрд┐рдЦрддреА рд╣реИред
рдкрд╛рдардХ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЬрд┐рди рддрд░реАрдХреЛрдВ рд╕реЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЖрдо рд╣реИ рдЫрд╡рд┐ рдореЗрдВ рдкрд╛рда рдХреЛ рдЫрд┐рдкрд╛рдирд╛ред
рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рд░рд╛рдЗрдЯ рд╣рдо рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рдЫрд╡рд┐ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдВрджреЗрд╢ рдЫрд┐рдкрд╛рдПрдЧрд╛ред рд╣рдо PHP рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдм-рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реЛрдЧрд╛ред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдмрд┐рдирд╛ рдПрдХ html рдкреГрд╖реНрда рд▓рд┐рдЦреЗрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд╡реЗрдм рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рдмрдХ рдирд╣реАрдВ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП index.php рдлрд╝рд╛рдЗрд▓:
: <input type="url" name="url" id="url" value=""> : <input type="text" name="code" id="code" value=""> <input type="button" value="" > <input type="button" value="" ><br> <div id="img_new"></div>
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдБ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдкрддрд╛" рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ рдЫрд╡рд┐ рдкрддрд╛ рд╣реЛрдЧрд╛, рдФрд░ "рдХреЛрдб" рдлрд╝реАрд▓реНрдб рдореЗрдВ рдереЛрдбрд╝реА рдЫрд┐рдкреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреАред рдмрдЯрдиреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рднреА рд╕реНрдкрд╖реНрдЯ рд╣реИред Img_new рдмреНрд▓реЙрдХ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреА, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реНрдЯреЗрдкреЛ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдХрдВрдЯреЗрдирд░ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рд╣рдо рдЕрдЬрд╛рдХреНрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдпрд╛ рдмрд▓реНрдХрд┐, рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдврд╛рдБрдЪреЗ рдФрд░ рдПрдХ js рдлрд╝рд╛рдЗрд▓ рдХреЛ index.php рд╕реЗ рдЬреЛрдбрд╝реЗрдВрдЧреЗред
<script src="ajax.js"></script> <script src="stego.js"></script>
Stego рдПрд▓реНрдЧреЛрд░рд┐рджрдо stego.php рдФрд░ destego.php рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣реЛрдЧрд╛ред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдорджрдж рд╕реЗ рдЕрдкрдиреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рдмрд╛рдБрдзреЗрдВрдЧреЗ: рд╕реНрдЯреЗрдЧреЛ (), рдбреЗ_рд╕реНрдЯреЗрдЧреЛ ()ред
рддреЛ stego.js:
stego.js function stego (url, code) { $("#img_new").html(""); $.ajax({ type: "POST", url: "stego.php", data: 'url_img='+url+'&stego_code='+code+'', cache: false, success: function(html){ $("#img_new").html(html); } }); } function de_stego (url) { $("#img_new").html(""); $.ajax({ type: "POST", url: "destego.php", data: 'url_img='+url+'&stego_code='+code+'', cache: false, success: function(html){ $("#img_new").html(html); } }); }
рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд╣рд▓реЗ img_new рдмреНрд▓реЙрдХ рдХреЛ рдХреНрд▓рд┐рдпрд░ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрди рдлрд╝реАрд▓реНрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╡реЗ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЖрдЧреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╡рд╛рдкрд╕ img_new рдмреНрд▓реЙрдХ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИред
рдмрдЯрди рдмрджрд▓ рджреЗрдВ рддрд╛рдХрд┐ рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░, рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдП:
<input type="button" value="" onclick="stego(document.getElementById('url').value,document.getElementById('code').value)"> <input type="button" value="" onclick="de_stego(document.getElementById('url').value)"><br>
рдЕрдм рд╣рдо рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк, рд╕реНрдЯреЗрдкреЛ-рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, stego.php рдлрд╝рд╛рдЗрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЫрд╡рд┐ рдкрддреЗ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝реЗрдВ
if (!$_POST[url_img]) { echo " "; exit(); }
рдФрд░ рдЫрд╡рд┐ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд╡рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛: jpg, gif, pngред рдЕрдиреНрдпрдерд╛, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдлрд▓рддрд╛ рдЙрдЪрд┐рдд PHP рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред
$type_img = explode (".", $_POST[url_img]); switch(strtolower($type_img[count($type_img)-1])) { case "png": $img1 = imagecreatefrompng($_POST[url_img]); break; case "jpg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "jpeg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "gif": $img1 = imagecreatefromgif($_POST[url_img]); break; default: $img1 = imagecreatefromgd ($_POST[url_img]); break; }
рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрдХреНрд╕рд░ рд╣реЛрд╕реНрдЯрд░реНрд╕ рдкреАрдПрдЪрдбреА рдореЗрдВ рдЬреАрдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╣реЛрд╕реНрдЯ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред
рдЪрд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ ...
рд╣рдо рд╕реНрдХреНрд░реАрди рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЫрд╡рд┐ рдХреЛ рдкреАрдПрдирдЬреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдкреНрд░рд╛рд░реВрдк рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рд╣рдо png рдореЗрдВ рднреА рдПрдХ рдФрд░ рдЗрдореЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмреАрдЪ рдЫрд╡рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред
imagepng ($img1, "img/img_code1".date(si).".png"); echo " : <img src='img/img_code1".date(si).".png' width='400px'>";
рдЕрдЧрд▓рд╛, рд╣рдо рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ x, y рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрджреЗрд╢ рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрджреЗрд╢ рдХреЛ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЪрд░ $ рдХреЛрдб рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред
$size = getimagesize($_POST[url_img]); $w = $size[0]; $h = $size[1]; $x = $y = 0; $length = strlen($_POST[stego_code]); $code = $_POST[stego_code];
рдлрд┐рд░ рдорд╕реНрддреА рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЕрд░реНрдерд╛рддреН, рд╡рд╣ рдЪрдХреНрд░ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рд╕рдВрджреЗрд╢ рдЫрд╡рд┐ рдореЗрдВ рдЖрдПрдЧрд╛ред рдкрд╣рд▓реЗ рд╣рдо рдХреЛрдб рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдкрд╛рд░реНрд╕ рдХрд░реЗрдВрдЧреЗ:
while ($length--) { $color_pixel = imagecolorat ($img1, $x, $y); $color_pixel_RGB = imagecolorsforindex ($img1, $color_pixel); $color_pixel_RGB[blue] = ord ($code[$length]); $color_new_pixel = imagecolorclosest ($img1, $color_pixel_RGB[red], $color_pixel_RGB[green], $color_pixel_RGB[blue]); imagesetpixel ($img1, $x, $y, $color_new_pixel); $x+=50; if ($x>$w) {$x=0; $y++;} }
рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рддрдХ рдЪрдХреНрд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЖрдЦрд┐рд░реА рдЪрд░рд┐рддреНрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо x рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд░рдВрдЧ рдХреЛ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ, y рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ ($ color_pixel = imagecolorat ($ img1, $ x, $ y);), $ color_pixel_RGB рд╕рд░рдгреА рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рд▓рд╛рд▓, рд╣рд░реЗ рдФрд░ рдиреАрд▓реЗ рд░рдВрдЧреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХрд╛ рдорд╛рди рд░рдЦрддреЗ рд╣реИрдВред
рдХреГрдкрдпрд╛ рд▓рд╛рдЗрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: $ color_pixel_RGB [рдиреАрд▓рд╛] = ord ($ рдХреЛрдб [$ рд▓рдВрдмрд╛рдИ]) - рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ ASCII рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрджреЗрд╢ рд╡рд░реНрдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдиреАрд▓реЗ рд░рдВрдЧ рдХрд╛ рд╕реНрддрд░ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ 255 рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреНрд░рдорд╢рдГ рдЖрд░рдЬреАрдмреА рдХреЗ рдореВрд▓реНрдп рдХреЛ рдЕрддрд┐рд░рдВрдЬрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдЦрдХ рдиреЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдиреАрд▓реЗ рд░рдВрдЧ рдХреЛ рдЪреБрдирд╛ред рдЖрдк рдХрд┐рд╕реА рднреА рдЕрдиреНрдп (рд╣рд░рд╛ рдпрд╛ рд▓рд╛рд▓) рдХреЗ рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдмрд░рдХрд░рд╛рд░ рд╣реИ, рдПрдХ рдорд╛рдорд▓реЗ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдЖрдЧреЗ рдЪрдХреНрд░ рдореЗрдВ, рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдирдИ рдЫрд╡рд┐ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмрдврд╝рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рд╡реЗ рдЫрд╡рд┐ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдордиреНрд╡рдп рдореВрд▓реНрдп рдКрдВрдЪрд╛рдИ (y) рдореЗрдВ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ x рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрд╢реНрдХрд┐рд▓ рддрд░реАрдХреЗ рд╕реЗ, рд╣рдордиреЗ рдЕрдкрдирд╛ рд╕рдВрджреЗрд╢ рдЫрд╡рд┐ рдореЗрдВ рдЫрд┐рдкрд╛ рджрд┐рдпрд╛ред
рд▓реЗрдХрд┐рди рд╕реНрдЯреЗрдЧреЛ рдореИрд╕реЗрдЬ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреИрд╕реЗ рдкрддрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореИрд╕реЗрдЬ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ? рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрддрд┐рдо рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ, рд╣рдо рд▓рд╛рд▓ рд░рдВрдЧ рдХреЗ рд╕реНрддрд░ рдХреЛ 1 рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред
$color_new_pixel = imagecolorclosest ($img1, 1, $color_pixel_RGB[green], $color_pixel_RGB[blue]); imagesetpixel ($img1, $x, $y, $color_new_pixel);
рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдирдИ рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ:
imagepng ($img1, "img/img_code2".date(si).".png"); echo " : <img src='img/img_code2".date(si).".png' width='400px'>";
рдЗрд╕ рдкреНрд░рдХрд╛рд░, stego.php рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
stego.php <?php if (!$_POST[url_img]) { echo "╤Ц ╤Ц ╤Ц"; exit(); } $type_img = explode (".", $_POST[url_img]); switch(strtolower($type_img[count($type_img)-1])) { case "png": $img1 = imagecreatefrompng($_POST[url_img]); break; case "jpg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "jpeg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "gif": $img1 = imagecreatefromgif($_POST[url_img]); break; default: $img1 = imagecreatefromgd ($_POST[url_img]); break; } imagepng ($img1, "img/img_code1".date(si).".png"); echo " : <img src='img/img_code1".date(si).".png' width='400px'>"; $size = getimagesize($_POST[url_img]); $w = $size[0]; $h = $size[1]; $x = $y = 0; $length = strlen($_POST[stego_code]); $code = $_POST[stego_code]; while ($length--) { $color_pixel = imagecolorat ($img1, $x, $y); $color_pixel_RGB = imagecolorsforindex ($img1, $color_pixel); $color_pixel_RGB[blue] = ord ($code[$length]); $color_new_pixel = imagecolorclosest ($img1, $color_pixel_RGB[red],$color_pixel_RGB[green], $color_pixel_RGB[blue]); imagesetpixel ($img1, $x, $y, $color_new_pixel); $x+=50; if ($x>$w) {$x=0; $y++;} } $color_new_pixel = imagecolorclosest ($img1, 1, $color_pixel_RGB[green], $color_pixel_RGB[blue]); imagesetpixel ($img1, $x, $y, $color_new_pixel); imagepng ($img1, "img/img_code2".date(si).".png"); echo " : <img src='img/img_code2".date(si).".png' width='400px'>"; ?>
рдЕрдм рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдЫреБрдкрд╛рдиреЗ рдХреА рдХреНрдпрд╛ рдмрд╛рдд рд╣реИ рдЕрдЧрд░ рд╣рдо рдЦреБрдж рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓ рдкрд╛рдПрдВрдЧреЗ?
рдФрд░ рдЗрд╕рд▓рд┐рдП destego.php рдлрд╝рд╛рдЗрд▓ред
рдХреЛрдб рдХрд╛ рдЖрдзрд╛ stego.php рдХреЛрдб рдХреЗ рд╕рдорд╛рди рд╣реИ:
рдЖрдзрд╛ рднрд╛рдЧ if (!$_POST[url_img]) { echo " "; exit(); } $type_img = explode (".", $_POST[url_img]); switch(strtolower($type_img[count($type_img)-1])) { case "png": $img1 = imagecreatefrompng($_POST[url_img]); break; case "jpg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "jpeg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "gif": $img1 = imagecreatefromgif($_POST[url_img]); break; default: $img1 = imagecreatefromgd ($_POST[url_img]); break; } echo " : <img src='".$_POST[url_img]."' width='400px'> "; echo ": "; $size = getimagesize($_POST[url_img]); $w = $size[0]; $h = $size[1]; $x = $y = 0;
рдпрд╣рд╛рдВ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░рдиреЗ, рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдЬрд╛рдирддреЗ рд╣реИрдВ
рдЕрдЧрд▓рд╛ рдПрдХ рд▓реВрдк рд╣реИ рдЬреЛ рдЫрд╡рд┐ рд╕реЗ рд╣рдорд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдЦреАрдВрдЪрддрд╛ рд╣реИ:
while ($color_pixel_RGB[red]!=1) { $color_pixel = imagecolorat ($img1, $x, $y); $color_pixel_RGB = imagecolorsforindex ($img1, $color_pixel); $text = chr($color_pixel_RGB[blue]).$text; $x+=50; if ($x>$w) {$x=0; $y++;} } ;
рдпрд╣ рдЪрдХреНрд░ рддрдм рддрдХ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрдд рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд▓реЗрддрд╛ рд╣реИред
рдмрджрд▓реЗ рдореЗрдВ, рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЙрд╕реА рдорд╛рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдПрдХ рд╕рдВрджреЗрд╢ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЪрд░рд┐рддреНрд░ рдХреЛ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рдПред
рд╣рдо рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
$text[0] = ""; echo $text;
$ рдкрд╛рда [0] = "" - рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓рд╛ рдкрд╛рддреНрд░ рдЦрд╛рд▓реА рд░рд╣рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ "рдХрдЪрд░рд╛" рд╕реЗ рднрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдФрд░ рдЗрд╕рд▓рд┐рдП, destego.php рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
destego.php <?php if (!$_POST[url_img]) { echo " "; exit(); } $type_img = explode (".", $_POST[url_img]); switch(strtolower($type_img[count($type_img)-1])) { case "png": $img1 = imagecreatefrompng($_POST[url_img]); break; case "jpg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "jpeg": $img1 = imagecreatefromjpeg($_POST[url_img]); break; case "gif": $img1 = imagecreatefromgif($_POST[url_img]); break; default: $img1 = imagecreatefromgd ($_POST[url_img]); break; } echo " : <img src='".$_POST[url_img]."' width='400px'> "; echo ": "; $size = getimagesize($_POST[url_img]); $w = $size[0]; $h = $size[1]; $x = $y = 0; while ($color_pixel_RGB[red]!=1) { $color_pixel = imagecolorat ($img1, $x, $y); $color_pixel_RGB = imagecolorsforindex ($img1, $color_pixel); $text = chr($color_pixel_RGB[blue]).$text; $x+=50; if ($x>$w) {$x=0; $y++;} } ; $text[0] = ""; echo $text; ?>
рдЗрд╕рд▓рд┐рдП,
рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рднреА рд╣реИ ред рддреЛ рд╡рд╣ рджреЗрдЦрддреА рд╣реИ:
рдЫрд╡рд┐ рдХрд╛ рдкрддрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ ред
рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рдХрд╛ рд╕рдВрджреЗрд╢ рджрд░реНрдЬ рдХрд░реЗрдВ: рдУрд╕рд╛рджрдЪреА рд╕рд░реНрдЧреЗрдИ
"рдЫреБрдкрд╛рдПрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдореВрд▓ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

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