어떤 쿼리 방법이 있나요???

GNU4를 활용하여 LMS(Learning Management System)의 특정 부분 하나의 기능을 만들어 가는 중입니다. 존경하는 그누폐인 고수님들의 도움을 청합니다. ^^
 
// write.php에서 [wr_link1]를 입력 받아 아래 play.php의 play.gif 를 클릭하면 팝업창으로 flv파일이 구동됩니다. 
 
<a href=javascript:// onClick="window.open('<?=$board_skin_path?>/flvplayer.swf?file=<?=$view[wr_link1]?>', '', 'scrollbars=no,resizeable=no,toolbar=no,status=no,top=0,left=0,width=870,height=730');" title='동영상보기'><img src="<?=$board_skin_path?>/img/play.gif" border="0"></a>
 
//문제는
 
1. 새창을 띄우면 모든 경로(flvplayer.swf?file=<?=$view[wr_link1])가 노출됩니다.
  -  이 경로가 노출되지 않토록 하는 방법과
  - 또한 새창을 못띄우도록 하는 방법이 있는지요?
 
2. 위의 play.php에서처럼 flvplayer.swf 파일을 javascript로 띄우는 것이 아니라 flvplayer.swf 파일 내부에서 띄울 수가 있는지?
 
3. 아니면 paly.php에서 팝업창을 띄우지 않고 또 다른 제3의 방법이 있는지요?
 
4. 참고로  flvplayer.swf 는 #include "flvplayer.as"를 함께 쓰고 있으며  다음과 같습니다.
//--------------------------------------------------------------------------
// initial variables that might be useful to change
//--------------------------------------------------------------------------
// toggle for which file to play if none was set in html
// you can change the 'test.flv' in your filename
if(!_root.file) {
 file = 'video.flv'
} else {
 file = _root.file;
}
// toggle for autostarting the video
// you can change the 'true' in 'false'
if(_root.autoStart == 'true' || _root.autostart == 'true') {
 autoStart = true;
} else {
 autoStart = false;
}
 
// toggle for the width and height of the video
// you can change them to the width and height you want
w = Stage.width;
h = Stage.height;
//--------------------------------------------------------------------------
// stream setup and functions
//--------------------------------------------------------------------------
// create and set netstream
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
// create and set sound object
this.createEmptyMovieClip("snd", 0);
snd.attachAudio(ns);
audio = new Sound(snd);
audio.setVolume(80);
//attach videodisplay
videoDisplay.attachVideo(ns);
// Retrieve duration meta data from netstream
ns.onMetaData = function(obj) {
 this.totalTime = obj.duration;
 // these three lines were used for automatically sizing
 // it is now done by sizing the video to stage dimensions
 // if(obj.height > 0 && obj.height < Stage.height-20) {
 // setDims(obj.width, obj.height);
 // }
};
// retrieve status messages from netstream
ns.onStatus = function(object) {
 if(object.code == "NetStream.Play.Stop") {
  // rewind and pause on when movie is finished
  ns.seek(0);
  ns.pause();
  playBut._visible = true;
  pauseBut._visible = false;
  videoDisplay._visible = false;
  playText.txt.text = "click to play";
 }
};

//--------------------------------------------------------------------------
// controlbar functionality
//--------------------------------------------------------------------------
// play the movie and hide playbutton
function playMovie() {
 if(!isStarted) {
  ns.play(file);
  playText.txt.text = "loading ..";
  isStarted = true;
 } else {
  ns.pause();
 }
 pauseBut._visible = true;
 playBut._visible = false;
 videoDisplay._visible = true;
}
// pause the movie and hide pausebutton
function pauseMovie() {
 ns.pause();
 playBut._visible = true;
 pauseBut._visible = false;
};
// video click action
videoBg.onPress = function() {
 if(pauseBut._visible == false) {
  playMovie();
 } else {
  pauseMovie();
 }
};
// pause button action
pauseBut.onPress = function() {
 pauseMovie();
};
// play button action
playBut.onPress = function() {
 playMovie();
};
// file load progress
progressBar.onEnterFrame = function() {
 loaded = this._parent.ns.bytesLoaded;
 total = this._parent.ns.bytesTotal;
 if (loaded == total && loaded > 1000) {
  this.loa._xscale = 100;
  delete this.onEnterFrame;
 } else {
  this.loa._xscale = int(loaded/total*100);
 }
};
// play progress function
progressBar.tme.onEnterFrame = function() {
 this._xscale = ns.time/ns.totalTime*100;
};
// start playhead scrubbing
progressBar.loa.onPress = function() {
 this.onEnterFrame = function() {
  scl = (this._xmouse/this._width)*(this._xscale/100)*(this._xscale/100);
  if(scl < 0.02) { scl = 0; }
  ns.seek(scl*ns.totalTime);
 };
};
// stop playhead scrubbing
progressBar.loa.onRelease = progressBar.loa.onReleaseOutside = function () {
 delete this.onEnterFrame;
 pauseBut._visible == false ? videoDisplay.pause() : null;
};
// volume scrubbing
volumeBar.back.onPress = function() {
 this.onEnterFrame = function() {
  var xm = this._xmouse;
  if(xm>=0 && xm <= 20) {
   this._parent.mask._width = this._xmouse;
   this._parent._parent.audio.setVolume(this._xmouse*5);
  }
 };
}
volumeBar.back.onRelease = volumeBar.back.onReleaseOutside = function() {
 delete this.onEnterFrame;
}
//--------------------------------------------------------------------------
// resize and position all items
//--------------------------------------------------------------------------
function setDims(w,h) {
 // set videodisplay dimensions
 videoDisplay._width = videoBg._width = w;
 videoDisplay._height = videoBg._height = h-20;
 playText._x = w/2-120;
 playText._y = h/2-20;
  
 // resize the items on the left ..
 playBut._y = pauseBut._y = progressBar._y = volumeBar._y = h-20;
 progressBar._width = w-56;
 volumeBar._x = w-38;
}
 
// here you can ovverride the dimensions of the video
setDims(w,h);
 

//--------------------------------------------------------------------------
// all done ? start the movie !
//--------------------------------------------------------------------------
// start playing the movie
// if no autoStart it searches for a placeholder jpg
// and hides the pauseBut
 
pauseBut._visible = false;
imageStr = substring(file,0,file.length-3)+"jpg";
imageClip.loadMovie(imageStr);
if (autoStart == true) { playMovie(); }
 
 
 
끝.
 
============ 이하는 플래시를 한다는 분들의 답변 수준이래요 !!!!!===================
  순수하게 경로를 고대로 적어주는 것이 아니라,
md5등을 이용한 암호화를 해서 넘겨주시고 풀고 하시면 되겠죠.
어떻게 하든 고수가 알아낼려고 하면 알아내는 방법은 있습니다만,
귀찮게 하는 방법밖에 없죠. ^^;
07/10 03:36
 
아니면...?file=에다 직접 주소 적지 않고...인덱스값같은걸 넘겨준다음..플레쉬내에서 DB연동해서 값을 받아오는방법도....(그것도...디컴파일해버리면 다 알겠지만...) 07/10 09:38
  /flvplayer.swf?file=<?=$view[wr_link1]?>
요기에서 <?=$view[wr_link1]?> 이부분에 flv의 경로가 들어간다는 말씀이시죠?
요 경로의 출력을 암호화를 통해서 알수 없는 문자들로 보냅니다.
그리고 swf에서 그 암호화된 문자를 다시 복호화 해서 원래 문자를 알아내는 거죠.
그리고 플레이~
07/10 10:00
 
|

댓글 1개

넘 무모한 질문이었나요? 죄 구멍을 찾고 싶은 심정이네요?????????????
덧글이 아무도 없으니 쩜 .............
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,510
19년 전 조회 1,525
19년 전 조회 1,080
19년 전 조회 1,207
19년 전 조회 1,219
19년 전 조회 1,829
19년 전 조회 1,559
19년 전 조회 1,590
19년 전 조회 1,209
19년 전 조회 1,409
19년 전 조회 1,433
19년 전 조회 1,200
19년 전 조회 1,517
19년 전 조회 1,565
19년 전 조회 1,542
19년 전 조회 1,544
19년 전 조회 1,021
19년 전 조회 1,613
19년 전 조회 1,561
19년 전 조회 5,163
🐛 버그신고