들어갔더니 업로드할 사진 고르라길래 내 컴터에 있던 까미사진을 골라서 upload File버튼 눌렀더니.
이래됨. ...
<?
function genRandomString() {
$length = 10;
$characters = "0123456789abcdefghijklmnopqrstuvwxyz";
$string = "";
for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters)-1)];
}
return $string;
}
function makeRandomPath($dir, $ext) {
do {
$path = $dir."/".genRandomString().".".$ext;
} while(file_exists($path));
return $path;
}
function makeRandomPathFromFilename($dir, $fn) {
$ext = pathinfo($fn, PATHINFO_EXTENSION);
return makeRandomPath($dir, $ext);
}
if(array_key_exists("filename", $_POST)) {
$target_path = makeRandomPathFromFilename("upload", $_POST["filename"]);
if(filesize($_FILES['uploadedfile']['tmp_name']) > 1000) {
echo "File is too big";
} else {
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file <a href=\"$target_path\">$target_path</a> has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
}
} else {
?>
....갈 길이 멀군.
genRandomString() --> get인데 오타난 듯;;ㅎㅎ
: 말 그대로 랜덤한 문자열을 return 하는 함수
makeRandomPath($dir, $ext)
: genRandomString()에서 생성한 랜덤 문자열을 이용해 생성한 랜덤한 파일 경로
makeRandomPathFromFilename($dir, $fn)
:
pathinfo(path, options) :
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
) 이런 식으로 출력되는데, 여기선 option에 PATHINFO_EXTENSION이 있으니... return only extension (확장자)
이걸 한 다음. 여기서 뽑아낸 확장자로 makeRandomPath에 이용한다.
move_uploaded_file(string $filename, string $destination)
: 서버로 전송된 파일을 저장할 때 사용하는 함수
대체 어떻게 해야 비밀번호를 알 수 있을까
- 파일이 성공적으로 upload되면 비밀번호를 알 수 있을지
- 비밀번호가 들어있을 경로를 찾아야 할지
- 파일에 뭘 심어서 어떻게 해야 될지. 진짜 아무것도 모르겠음.
너무 모르겠어서.. ㅋ 구글에 검색해보고 알았는데,,
쩌어어어기 밑에 이런 코드가 있었음. 여기서 jpg로 파일의 확장자를 변경한 것임.
그래서 /etc/natas_webpass/natas13에 비번이 저장되어 있다는 것을 아니깐.. 저기의 글자를 읽어오는 php코드를 짜서.... 업로드를 해주어야 한대.. 근데 이걸 그대로 업로드를 해봤자 jpg로 확장자를 바꾸니까 중간에 버프수트로 가로채서 확장자를 다시 php로 바꾼 다음에 업로드를 해준 다음. /upload/파일 이름 경로로 가면 비번이 있다고 함.. 아니 근데 왜이렇게 어렵냐:? 나 php 알지도 못 하는데 이게 이제 한계인가. 다시 딴 문제 찾아봐야되나. 이건 내가 절대 혼자 힘으로 못 풀었을 게 뻔한디;;
지금 좀 저기에 질렸으니까 코드짜고 버프수트로 업로드하는건 나중에.. 하겠음. 지금은 너무 짜증나서 안되겠어.
댓글