어떤 쿼리 방법이 있나요??? 정보
어떤 쿼리 방법이 있나요???본문
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
//--------------------------------------------------------------------------
// 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;
}
// 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;
}
// 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;
// you can change them to the width and height you want
w = Stage.width;
h = Stage.height;
//--------------------------------------------------------------------------
// stream setup and functions
//--------------------------------------------------------------------------
// stream setup and functions
//--------------------------------------------------------------------------
// create and set netstream
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
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);
this.createEmptyMovieClip("snd", 0);
snd.attachAudio(ns);
audio = new Sound(snd);
audio.setVolume(80);
//attach videodisplay
videoDisplay.attachVideo(ns);
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
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);
// 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";
}
};
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;
}
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;
};
function pauseMovie() {
ns.pause();
playBut._visible = true;
pauseBut._visible = false;
};
// video click action
videoBg.onPress = function() {
if(pauseBut._visible == false) {
playMovie();
} else {
pauseMovie();
}
};
videoBg.onPress = function() {
if(pauseBut._visible == false) {
playMovie();
} else {
pauseMovie();
}
};
// pause button action
pauseBut.onPress = function() {
pauseMovie();
};
pauseBut.onPress = function() {
pauseMovie();
};
// play button action
playBut.onPress = function() {
playMovie();
};
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);
}
};
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;
};
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);
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);
};
};
ns.seek(scl*ns.totalTime);
};
};
// stop playhead scrubbing
progressBar.loa.onRelease = progressBar.loa.onReleaseOutside = function () {
delete this.onEnterFrame;
pauseBut._visible == false ? videoDisplay.pause() : null;
};
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;
}
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 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);
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
// 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(); }
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 | ||
댓글 전체
넘 무모한 질문이었나요? 죄 구멍을 찾고 싶은 심정이네요?????????????
덧글이 아무도 없으니 쩜 .............
덧글이 아무도 없으니 쩜 .............