Простой вызов текстового поля ASP

#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. Спасибо за ответ, возможно, я найду другой способ. Спасибо, что указали на проблемы безопасности.