2012-06-27 3 views
0

Я создал веб-страницу с использованием ColdFusion. В этом кубометра в минуту файла У меня есть следующий тег для перенаправлением:Как интегрировать Jsp-файл в ColdFusion?

<a href="pingdirect.jsp?Directory=#insdirs.ID_Directory#&Qlid=#inc_Requestor#">Grant 

Это мой Pingdirect.jsp файл:

String param=request.getParameter("Directory");     
String qid=request.getParameter("Qlid");   
try { 
    String command1="Runas /user:"+param+" /grant "+qid+":(OI)(CI)(M,RX,W)\""; 
    Runtime rt = Runtime.getRuntime(); 
    Process p=rt.exec("cmd /c start" +command1); 
} catch(Exception e) { 
    System.out.println(e); 
} 

Моя проблема заключается в том, что, когда я нажимаю «грант», он перенаправляет на страницу pingdirect.jsp , Но он не открывает командную строку.

Может ли кто-нибудь направить меня?

+2

Непосредственный вопрос, связанный с вашим вопросом, но ваш код принимает ввод от пользователя и выполняет его без проверки ввода. Если я запрошу Pingdirect.jsp? Directory = administrator% 40del% 20c: \, тогда могут произойти плохие вещи – barnyr

+0

Этот каталог и значения qid будут взяты из базы данных. Это все остальная часть моей кодирующей части. Здесь я только что показал только строку перенаправления. – Manikandan

+0

Где вы ожидаете увидеть подсказку CMD? –

ответ

0

Я хотел бы начать, глядя на параметры, которые пытаются быть пропущена через ...

Вспоминая в JSP может появиться не должно быть никакой разницы между GET и POST переменных, где, как и в ColdFusion они существуют в URL и область FORM соответственно.

Откуда берутся insdirs.ID_Directory и inc_Requestor, и возможно, что они не установлены или не установлены неправильно.

Если вручную перейти к pingdirect.jsp? Справочник = [ожидаемое значение] & Qlid = [ожидаемое значение] страница, что происходит (и какие значения необходимо в строке запроса (параметры URL)?

Я бы предположил, что вы сохраняете имена переменных, которые передаются по запросу, все в одном случае (поэтому создайте каталог каталогов и Qlid qlid).

Если вы можете вручную добраться туда, и параметры проходят правильно, это, вероятно, время для начать отладку страницы jsp по строкам.

Ben

+0

Спасибо за ваш ответ. Я извлекаю несколько столбцов из базы данных, используя cfquery. Я сохранил эти значения в переменных (Directory и qid). Затем я передал это с помощью href. Когда я выполняю файл cfm, он перенаправляет страницу на pingdirect.jsp и правильно выбирает значения. Но он не выполняет следующие два утверждения. Runtime rt = Runtime.getRuntime(); Процесс p = rt.exec («cmd/c start» + command1); Просьба прояснить это как можно скорее .. – Manikandan

+0

Выполняет ли «jsp» «правильно», когда вы запускаете его вручную, буквально набрав в адресной строке URL-адрес? Я боюсь, что мой jsp очень ржавый, но, как говорит барнир раньше, если это работает, это похоже на довольно большую дыру в безопасности. – BennyB

+0

ya Файл jsp работает отлично. Я попытался перенаправить эту страницу jsp из образца html-файла. (Сервер: Apache Tomcat и IDE: Eclipse) a href = pingdirect.jsp? Directory = ..... & qid = ...Для этого я получаю командную строку, и она передает правильные параметры. Но когда я перенаправляю ее из coldfusion в файл jsp, я не получил командную строку ... Спасибо – Manikandan

0

Вы можете попробовать заменить getParameter на getAttribute;

String param=request.getAttribute("Directory");     
String qid=request.getAttribute("Qlid"); 

и, кроме того, убедитесь, что атрибуты фактически существуют;

if ((param == null) || (qid == null)) 
{ 
// MZ: Handle the exception here 
} 
Смежные вопросы