어떤 쿼리 방법이 있나요??? > 그누4 질문답변

그누4 질문답변

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

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

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

본문

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
 

댓글 전체

전체 27 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT