#forms #asp-classic
#формы #asp-классический
Вопрос:
я интерфейсный программист, поэтому я мало что знаю об ASP. Один из моих клиентов обратился ко мне за простой помощью, и я не отказал ему.
Ему нужно простое текстовое поле с кнопкой отправки, и когда он отправляет текст, скажем, «Образец», он хочет, чтобы сервер вызывал http://example.com/Sample.pdf после представления.
Просто, это то, что у меня есть на данный момент:
<form action="form_action.asp">
<input type="text" name="pdf" value="enter pdf id" />
<input type="submit" value="Submit" />
</form>
Было бы лучше, если бы я мог получить рабочий ответ, поскольку на моем компьютере нет сервера asp, я не смогу его протестировать.
Любая помощь будет оценена. Спасибо.
Ответ №1:
Это очень плохая идея, особенно когда разработчик не понимает внутреннего кодирования. Вы открываете сервер для целой кучи проблем безопасности.
Если вы разрешите поместить что-либо в это поле, что помешает мне ввести ../includes/dbsettings.asp
, например, и получить доступ к файлам, к которым у меня действительно не должно быть доступа?
Как вы будете обрабатывать, если файл не существует?
Фактический ответ: это сайт вопросов и ответов, поэтому вот ответ, который вы просили, будьте осторожны с тем, что вы с ним делаете!
Следующее на собственной странице ASP должно делать то, что вы хотите:
<%
Response.Redirect("/" amp; Request.Form("pdf") amp; ".pdf")
%>
Вы можете (и должны) усложниться, установив mime-тип, обозначив его как вложение (чтобы появилось окно загрузки), потоковое воспроизведение файла и, прежде всего, добавление безопасности и проверки ошибок.
Комментарии:
1. Спасибо за ответ, возможно, я найду другой способ. Спасибо, что указали на проблемы безопасности.