하늘높이의 프로그래밍 이야기

YUM으로 PHP를 설치했는데 잘 돌다가 최근 업데이트 한 이후에....

갑자기 안 돌아가는 것 같아서... 확인해 보니

/etc/httpd/conf.d/php.conf 에 다음과 같은 문장이 필요했다.

 

AddType application/x-httpd-php .php .html .htm .inc

ASP Base64
<%
Option Explicit

Dim sBASE_64_CHARACTERS, sBASE_64_CHARACTERSansi
sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
sBASE_64_CHARACTERSansi = strUnicode2Ansi(sBASE_64_CHARACTERS)

Function strUnicodeLen(asContents)
 Dim asContents1 : asContents1 ="a" & asContents
 Dim Len1  : Len1=Len(asContents1)
 Dim K  : K=0
 Dim I, Asc1
 
 For I=1 To Len1
  Asc1 = asc(mid(asContents1,I,1))
  IF Asc1 < 0 Then Asc1 = 65536 + Asc1
  IF Asc1 > 255 Then
   K = K + 2
  ELSE
   K = K + 1
  End IF
 Next
 
 strUnicodeLen = K - 1
End Function

Function strUnicode2Ansi(asContents)
 Dim Len1   : Len1 = Len(asContents)
 Dim I, VarCHAR, VarASC, VarHEX, VarLOW, VarHIGH

 strUnicode2Ansi = ""
 
 For I = 1 to Len1
  VarCHAR = Mid(asContents,I,1)
  VarASC = Asc(VarCHAR)
  IF VarASC < 0 Then VarASC = VarASC + 65536
  IF VarASC > 255 Then
   VarHEX  = Hex(VarASC)
   VarLOW  = Left(VarHEX,2)
   VarHIGH  = Right(VarHEX,2)
   strUnicode2Ansi = strUnicode2Ansi & ChrB("&H" & VarLOW ) & ChrB("&H" & VarHIGH )
  Else
   strUnicode2Ansi = strUnicode2Ansi & ChrB(VarASC)
  End IF
 Next
End Function

 

Function strAnsi2Unicode(asContents)
 Dim Len1   : Len1  = LenB(asContents)
 Dim VarCHAR, VarASC, I

 strAnsi2Unicode = ""
 
 IF Len1=0 Then Exit Function
 
 For I=1 To Len1
  VarCHAR = MidB(asContents,I,1)
  VarASC = AscB(VarCHAR)
  IF VarASC > 127 Then
   strAnsi2Unicode = strAnsi2Unicode & Chr(AscW(MidB(asContents, I+1,1) & VarCHAR))
   I  = I + 1
  Else
   strAnsi2Unicode = strAnsi2Unicode & Chr(VarASC)
  End IF
 Next
 
End function

Function Base64encode(asContents)
 Dim lnPosition
 Dim lsResult
 Dim Char1
 Dim Char2
 Dim Char3
 Dim Char4
 Dim Byte1
 Dim Byte2
 Dim Byte3
 Dim SaveBits1
 Dim SaveBits2
 Dim lsGroupBinary
 Dim lsGroup64
 Dim M3, M4, Len1, Len2

 Len1   =LenB(asContents)
 
 IF Len1 < 1 Then
  Base64encode = ""
  Exit Function
 End IF

 M3=Len1 Mod 3
 
 IF M3 > 0 Then asContents = asContents & String(3 - M3, ChrB(0))

 IF m3 > 0 Then
  Len1 = Len1 + (3 - M3)
  Len2 = Len1 - 3
 Else
  Len2 = Len1
 End IF

 lsResult = ""

 For lnPosition = 1 To Len2 Step 3
  lsGroup64 = ""
  lsGroupBinary = MidB(asContents, lnPosition, 3)

  Byte1  = AscB(MidB(lsGroupBinary, 1, 1)) : SaveBits1 = Byte1 And 3
  Byte2  = AscB(MidB(lsGroupBinary, 2, 1)) : SaveBits2 = Byte2 And 15
  Byte3  = AscB(MidB(lsGroupBinary, 3, 1))

  Char1  = MidB(sBASE_64_CHARACTERSansi, ((Byte1 And 252) \ 4) + 1, 1)
  Char2  = MidB(sBASE_64_CHARACTERSansi, (((Byte2 And 240) \ 16) Or (SaveBits1 * 16) And &HFF) + 1, 1)
  Char3  = MidB(sBASE_64_CHARACTERSansi, (((Byte3 And 192) \ 64) Or (SaveBits2 * 4) And &HFF) + 1, 1)
  Char4  = MidB(sBASE_64_CHARACTERSansi, (Byte3 And 63) + 1, 1)
  lsGroup64 = Char1 & Char2 & Char3 & Char4

  lsResult  = lsResult & lsGroup64
 Next

 IF M3 > 0 Then
  lsGroup64 = ""
  lsGroupBinary = MidB(asContents, Len2 + 1, 3)

  Byte1  = AscB(MidB(lsGroupBinary, 1, 1)) : SaveBits1 = Byte1 And 3
  Byte2  = AscB(MidB(lsGroupBinary, 2, 1)) : SaveBits2 = Byte2 And 15
  Byte3  = AscB(MidB(lsGroupBinary, 3, 1))

  Char1  = MidB(sBASE_64_CHARACTERSansi, ((Byte1 And 252) \ 4) + 1, 1)
  Char2  = MidB(sBASE_64_CHARACTERSansi, (((Byte2 And 240) \ 16) Or (SaveBits1 * 16) And &HFF) + 1, 1)
  Char3  = MidB(sBASE_64_CHARACTERSansi, (((Byte3 And 192) \ 64) Or (SaveBits2 * 4) And &HFF) + 1, 1)

  IF M3=1 Then
   lsGroup64 = Char1 & Char2 & ChrB(61) & ChrB(61)
  Else
   lsGroup64 = Char1 & Char2 & Char3 & ChrB(61)
  End IF

  lsResult  = lsResult & lsGroup64
 End IF

 Base64encode = lsResult
End Function

Function Base64decode(asContents)
 Dim lsResult
 Dim lnPosition
 Dim lsGroup64, lsGroupBinary
 Dim Char1, Char2, Char3, Char4
 Dim Byte1, Byte2, Byte3
 Dim M4, Len1, Len2

 Len1 = LenB(asContents)
 M4 = Len1 Mod 4

 IF Len1 < 1 Or M4 > 0 Then
  Base64decode = ""
  Exit Function
 End IF

 IF MidB(asContents, Len1, 1) = ChrB(61) Then M4 = 3
 IF MidB(asContents, Len1-1, 1) = ChrB(61) Then M4 = 2

 IF M4 = 0 Then
  Len2 = Len1
 Else
  Len2 = Len1 - 4
 End IF

 For lnPosition = 1 To Len2 Step 4
  lsGroupBinary = ""
  lsGroup64 = MidB(asContents, lnPosition, 4)

  Char1  = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 1, 1)) - 1
  Char2  = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 2, 1)) - 1
  Char3  = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 3, 1)) - 1
  Char4  = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 4, 1)) - 1

  Byte1  = ChrB(((Char2 And 48) \ 16) Or (Char1 * 4) And &HFF)
  Byte2  = lsGroupBinary & ChrB(((Char3 And 60) \ 4) Or (Char2 * 16) And &HFF)
  Byte3  = ChrB((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63))
  lsGroupBinary = Byte1 & Byte2 & Byte3

  lsResult  = lsResult & lsGroupBinary
 Next

 IF M4 > 0 Then
  lsGroupBinary = ""
  lsGroup64 = MidB(asContents, Len2 + 1, M4) & ChrB(65)
  IF M4=2 Then
   lsGroup64 = lsGroup64 & chrB(65)
  End IF
  Char1 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 1, 1)) - 1
  Char2 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 2, 1)) - 1
  Char3 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 3, 1)) - 1
  Char4 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 4, 1)) - 1

  Byte1 = ChrB(((Char2 And 48) \ 16) Or (Char1 * 4) And &HFF)
  Byte2 = lsGroupBinary & ChrB(((Char3 And 60) \ 4) Or (Char2 * 16) And &HFF)
  Byte3 = ChrB((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63))

  IF M4=2 Then
   lsGroupBinary = Byte1
  elseIF M4=3 Then
   lsGroupBinary = Byte1 & Byte2
  end IF

  lsResult   = lsResult & lsGroupBinary
 End IF

 Base64decode   = lsResult
End Function

 


Dim ORIGNvalue : ORIGNvalue = "mTVisman123456"
Dim EncodeA : EncodeA = StrReverse(strAnsi2Unicode(Base64encode(strUnicode2Ansi(ORIGNvalue))))
Dim DecodeA : DecodeA = strAnsi2Unicode(Base64decode(strUnicode2Ansi(StrReverse(EncodeA))))

response.write "[" & DecodeA & "] was encoded to [" & EncodeA & "]<BR>"
response.write "[" & EncodeA & "] was decoded to [" & DecodeA & "]<BR>"
%>



PHP Base64
<?
$Str = 'mTVisman123456';
$Test = base64_encode($Str);
$TestD = base64_decode($Test);
printf($Test.$TestD);
?>


JSP Base64
<%@ page import="java.net.*, java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="java.lang.String" %>
<%@ page import="java.security.*" %>
<%@ page import="sun.misc.BASE64Encoder" %>
<%@ page import="sun.misc.BASE64Decoder" %>
<%
        BASE64Encoder encoder = new BASE64Encoder();
        BASE64Decoder decoder = new BASE64Decoder();

        String StrOUT, Reversing;
        byte[] b1, CookieString;


 
  String Test = "
=YTN0@j@x4WYtN*aWRVb";

  Reversing = new StringBuffer(Test).toString();
        CookieString = decoder.decodeBuffer(Reversing);

        StrOUT = new String(CookieString, "ISO-8859-1");

  out.println("[" + StrOUT + "] was decoded to [" + Test + "]<br>");
        out.println("[" + Test + "] was decoded to [" + StrOUT + "]");
%>


출저:http://cafe.naver.com/webexploit/3

PHP에서 깔끔하게 돌아가는 웹하드 솔루션이 없을까 고민중이다.

웹 파일서버를 만들어야 하는데

- 기존의 방식대로 FTP 올리고/APACHE indexes를 이용해서 사용할까?
-> 권한관리가 쉽지 않고 이쁘지 않다 -.-

자바스크립트와 PHP+MySQL 로 무료 웹하드 프로그램을 써봐?
-> 파일을 한번에 하나씩 올려야 되는점이 불편

음...그냥 PHP+ActiveX방식으로 하나 짜?
-> 음 적어도 2~3일 손봐야되고... 나 혼자서 쓸껀데 이정도 시간을 투자해?

음 역시 고민이야....

일단 rpm으로 대충~ php세팅은 마무리 했다~ ㅋㅋㅋ
다음에 고민해보려고.....