Мы работаем над этим сайтом в течение многих лет, и у нас есть одна проблема, которую мы не можем решить.Мы не можем скачать файл с него.Прежде чем мы официально развернем wikitimelines.net, мы должны иметь эту функциональность.Мы можем продемонстрировать фрагмент кода, который загружает файл и точно такой же код, просто в другом месте, который не работает.Код находится в Visual Foxpro 9 и системе среднего уровня, которая называется Foxweb (foxweb.com).Мы понимаем, что это старая MS RDBMS.Мы используем его, потому что это невероятно быстро.Но код не является проблемой, так как мы можем продемонстрировать, что он работает.
Вот код:
Response.Buffer = .T.
FileName = [articlesozoy0l71.wta]
ContentType = "application/unknown"
FileExtension = Upper(Justext(FileName))
ContentType = "application/unknown"
Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName)
FileContent = ReadFile(FileName)
* Specify size so that progress bar works properly
Response.AddHeader("Content-Length", Server.ToString(Len(FileContent)))
Response.ContentType = ContentType
* Send file to browser
Response.Write(FileContent)
Response.End
Теперь, если вы укажете свой браузер (надеюсь Chrome) на:
http://wikitimelines.net/download7.fwx
И, конечно же, это работает, как и ожидалось, загружая файл "articleozoy0l71.wta" с нашего сервера.
Теперь мы включили этот ТОЧНЫЙ раздел кодана наш веб-сайт:
http://wikitimelines.net
Это наш веб-сайт, на котором мы пытаемся создавать временные рамки из всей Википедии (где есть даты).Нажмите на знак плюс рядом с любой темой.Это покажет список всех статей Википедии в течение определенного времени.Наряду с каждой статьей есть небольшое изображение коробки с маленькой стрелкой, направленной вверх и вправо.При нажатии запускается тот же код, который указан выше, и который работает при запуске автономного файла.В этом контексте это ничего не делает.Мы не видим никаких ошибок в «консоли» Chrome при нажатии.
Итак, наш вопрос: почему этот «скрипт загрузки файлов» работает в одном контексте, а не на нашем веб-сайте.Тот же код, тот же сервер и то же промежуточное программное обеспечение?
Есть ли здесь проблемы с безопасностью, которых нам не хватает?