dil: (Default)
dil ([personal profile] dil) wrote2009-06-22 10:17 am

Нарушения связности и искривление пространственно-временного континуума в мультфильме “Винни-П

http://burrarum.livejournal.com/52064.html

Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.

[identity profile] pash7ka.livejournal.com 2009-10-02 05:08 pm (UTC)(link)
Однако, для пряморуких, но ленивых - это очень удобный способ по быстрому прочитать что-нить с удалённого серевера. Никаких HTTP/FTP запросов, никаких проблем, делаешь file_get_contents() и ни о чём лишнем не думаешь. :) Я конечно понимаю, что с PEAR::Http_Client возни немногим больше, и тем не менее.

[identity profile] dil.livejournal.com 2009-10-02 05:10 pm (UTC)(link)
не, ну зачем это изначально придумали - понятно.
мне интересно, решился ли ещё кто-нибудь реализовать такую потенциально опасную штуку

[identity profile] pash7ka.livejournal.com 2009-10-02 05:22 pm (UTC)(link)
Если уж быть последовательным, то схема file:// является потенциально опасной и всё что её поддерживает - потенциально уязвимо.
Так в Java можно сделать:
FileReader fr = new FileReader(new File(new URI("http://example.com")));
не знаю не выдаст ли это какую-нибудь Exception, но в теории так можно.
А значит криворукий программист вполен может ради универсальности или ещё х знает чего написать подобную штуку.

[identity profile] dil.livejournal.com 2009-10-02 05:32 pm (UTC)(link)
а любая схема является потенциально опасной. но fopen должен открывать файлы, а не что попало. для всего остального должен существовать отдельный метод, например, какой-нибудь schema_open, чтобы программист, его используя, ясно осознавал, чтО делает

[identity profile] pash7ka.livejournal.com 2009-10-02 05:37 pm (UTC)(link)
Согласен.
P.S. Проверил исходники класса File, там таки запрещены любые схемы кроме "file". :)
ext_659502: (Default)

[identity profile] some41.livejournal.com 2009-10-02 08:23 pm (UTC)(link)
fopen() тут почти не причем, 99% RFI идет из include(), а вот в нем это уже точно лишняя фича

[identity profile] dil.livejournal.com 2009-10-03 10:32 am (UTC)(link)
та же фигня по сути