Advertisement
Guest User

Untitled

a guest
Apr 24th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. <?php
  2. /**
  3. *
  4. * @ This file is created by deZender.Net
  5. * @ deZender (PHP5 Decoder for ionCube Encoder)
  6. *
  7. * @ Version : 1.1.4.0
  8. * @ Author : DeZender
  9. * @ Release on : 30.03.2012
  10. * @ Official site : http://DeZender.Net
  11. *
  12. */
  13.  
  14. function writelog($loginfo) {
  15. if (defined( 'DEBUG' )) {
  16. $fp = fopen( 'yogtunnel.log', 'a' );
  17.  
  18. if ($fp == FALSE) {
  19. return null;
  20. }
  21.  
  22. fwrite( $fp, $loginfo . chr( 13 ) );
  23. fclose( $fp );
  24. }
  25.  
  26. }
  27.  
  28. function convertxmlchars($string) {
  29. writelog( 'Enter convertxmlchars' );
  30. writelog( 'Input: ' . $string );
  31. $result = $string;
  32. $result = eregi_replace( '&', '&amp;', $result );
  33. $result = eregi_replace( '<', '&lt;', $result );
  34. $result = eregi_replace( '>', '&gt;', $result );
  35. $result = eregi_replace( '\'', '&apos;', $result );
  36. $result = eregi_replace( '\"', '&quot;', $result );
  37. writelog( 'Output: ' . $result );
  38. writelog( 'Exit convertxmlchars' );
  39. return $result;
  40. }
  41.  
  42. function aremodulesinstalled() {
  43. global $tunnelversion;
  44.  
  45. writelog( 'Enter aremodulesinstalled' );
  46. $modules = get_loaded_extensions( );
  47. $modulenotfound = '';
  48.  
  49. if (extension_loaded( 'xml' ) != TRUE) {
  50. $modulenotfound = 'XML';
  51. } else {
  52. if (extension_loaded( 'mysql' ) != TRUE) {
  53. $modulenotfound = 'MySQL';
  54. } else {
  55. return TRUE;
  56. }
  57. }
  58.  
  59. $errmsg = '<b>Error:</b> Extension <b>' . $modulenotfound . '</b> was not found compiled and loaded in the PHP interpreter. AlsaSQLManager requires this extension to work properly.';
  60. $errmsg .= '<p><b>Tunnel version: ' . $tunnelversion . '</b>.<p>This PHP page exposes the MySQL API as a set of webservices.<br><br>This page allows AlsaSQLManager to manage a MySQL server even if the MySQL port is blocked or remote access to MySQL is not allowed.<br><br>Visit <a href ="http://www.">config</a> to get more details about AlsaSQLManager.';
  61. echo '<html><head><title></title></head><body leftmargin="0" topmargin="0"><p>';
  62. echo '<table width="100%" cellpadding="3" border="0"><tr><td><font face="Verdana" size="2">' . $errmsg . '</td</tr></table>';
  63. echo '</body></html>';
  64. writelog( 'Exit aremodulesinstalled' );
  65. }
  66.  
  67. function processquery() {
  68. writelog( 'Enter processquery' );
  69.  
  70. if (!isset( $_POST['textfield'] )) {
  71. showaccesserror( );
  72. return null;
  73. }
  74.  
  75. $xmlrecvd = stripslashes( urldecode( $_POST['textfield'] ) );
  76. global $host;
  77. global $port;
  78. global $username;
  79. global $pwd;
  80. global $db;
  81. global $batch;
  82. global $query;
  83. global $base;
  84.  
  85. $ret = getdetailsfrompostedxml( $xmlrecvd );
  86.  
  87. if ($ret == FALSE) {
  88. return null;
  89. }
  90.  
  91.  
  92. if ($base == 1) {
  93. }
  94.  
  95. writelog( 'Trying to connect' );
  96. $mysql = mysql_connect( '' . $host . ':' . $port, $username, $pwd );
  97.  
  98. if (!$mysql) {
  99. handleerror( mysql_errno( ), mysql_error( ) );
  100. writelog( mysql_error( ) );
  101. return null;
  102. }
  103.  
  104. writelog( 'Connected' );
  105. mysql_select_db( str_replace( '`', '', $db ), $mysql );
  106.  
  107. if ($batch) {
  108. executebatchquery( $mysql, $query );
  109. } else {
  110. executesinglequery( $mysql, $query );
  111. }
  112.  
  113. mysql_close( $mysql );
  114. writelog( 'Exit processquery' );
  115. }
  116.  
  117. function startelement($parser, $name, $attrs) {
  118. global $xml_state;
  119. global $host;
  120. global $port;
  121. global $db;
  122. global $username;
  123. global $pwd;
  124. global $batch;
  125. global $query;
  126. global $base;
  127.  
  128. writelog( 'Enter startelement' );
  129.  
  130. if (strtolower( $name ) == 'host') {
  131. $xml_state = XML_HOST;
  132. } else {
  133. if (strtolower( $name ) == 'db') {
  134. $xml_state = XML_DB;
  135. } else {
  136. if (strtolower( $name ) == 'user') {
  137. $xml_state = XML_USER;
  138. } else {
  139. if (strtolower( $name ) == 'password') {
  140. $xml_state = XML_PWD;
  141. } else {
  142. if (strtolower( $name ) == 'port') {
  143. $xml_state = XML_PORT;
  144. } else {
  145. if (strtolower( $name ) == 'query') {
  146. $xml_state = XML_QUERY;
  147. $batch = ($attrs['B'] == '1' ? 1 : 0);
  148. $base = ($attrs['E'] == '1' ? 1 : 0);
  149. }
  150. }
  151. }
  152. }
  153. }
  154. }
  155.  
  156. writelog( 'Exit startelement' );
  157. }
  158.  
  159. function endelement($parser, $name) {
  160. writelog( 'Enter endElement' );
  161. global $xml_state;
  162.  
  163. $xml_state = XML_NOSTATE;
  164. writelog( 'Exit endElement' );
  165. }
  166.  
  167. function charhandler($parser, $data) {
  168. global $xml_state;
  169. global $host;
  170. global $port;
  171. global $db;
  172. global $username;
  173. global $pwd;
  174. global $batch;
  175. global $query;
  176. global $base;
  177.  
  178. writelog( 'Enter charhandler' );
  179.  
  180. if ($xml_state == XML_HOST) {
  181. $host .= $data;
  182. } else {
  183. if ($xml_state == XML_DB) {
  184. $db .= $data;
  185. } else {
  186. if ($xml_state == XML_USER) {
  187. $username .= $data;
  188. } else {
  189. if ($xml_state == XML_PWD) {
  190. $pwd .= $data;
  191. } else {
  192. if ($xml_state == XML_PORT) {
  193. $port .= $data;
  194. } else {
  195. if ($xml_state == XML_QUERY) {
  196. if ($base) {
  197. $query .= base64_decode( $data );
  198. } else {
  199. $query .= $data;
  200. }
  201. }
  202. }
  203. }
  204. }
  205. }
  206. }
  207.  
  208. writelog( 'Exit charhandler' );
  209. }
  210.  
  211. function getdetailsfrompostedxml($xmlrecvd) {
  212. writelog( 'Enter getdetailsfrompostedxml' );
  213. $xml_parser = xml_parser_create( );
  214. xml_set_element_handler( $xml_parser, 'startElement', 'endElement' );
  215. xml_set_character_data_handler( $xml_parser, 'charHandler' );
  216. $ret = xml_parse( $xml_parser, $xmlrecvd );
  217.  
  218. if (!$ret) {
  219. handleerror( xml_get_error_code( $xml_parser ), xml_error_string( xml_get_error_code( $xml_parser ) ) );
  220. return FALSE;
  221. }
  222.  
  223. xml_parser_free( $xml_parser );
  224. writelog( 'Exit getdetailsfrompostedxml' );
  225. return TRUE;
  226. }
  227.  
  228. function handleerror($errno, $error) {
  229. global $tunnelversion;
  230.  
  231. writelog( 'Enter handleerror' );
  232. echo '<xml v="' . $tunnelversion . ( '' . '"><e_i><e_n>' . $errno . '</e_n><e_d>' ) . convertxmlchars( $error ) . '</e_d></e_i></xml>';
  233.  
  234. .................................................................
  235. .........................................
  236. ....................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement