<?php //version my202
//set allowTestMenu to false to disable System/Server test page
$allowTestMenu = true;
$use_mysqli = function_exists("mysqli_connect");
header("Content-Type: text/plain; charset=x-user-defined");
error_reporting(0);
set_time_limit(0);
function phpversion_int()
{
list($maVer, $miVer, $edVer) = preg_split("(/|\.|-)", phpversion());
return $maVer*10000 + $miVer*100 + $edVer;
}
if (phpversion_int() < 50300)
{
set_magic_quotes_runtime(0);
}
function GetLongBinary($num)
{
return pack("N",$num);
}
function GetShortBinary($num)
{
return pack("n",$num);
}
function GetDummy($count)
{
$str = "";
for($i=0;$i<$count;$i++)
$str .= "\x00";
return $str;
}
function GetBlock($val)
{
$len = strlen($val);
if( $len < 254 )
return chr($len).$val;
else
return "\xFE".GetLongBinary($len).$val;
}
function EchoHeader($errno)
{
$str = GetLongBinary(1111);
$str .= GetShortBinary(202);
$str .= GetLongBinary($errno);
$str .= GetDummy(6);
echo $str;
}
function EchoConnInfo($conn)
{
if ($GLOBALS['use_mysqli']) {
$str = GetBlock(mysqli_get_host_info($conn));
$str .= GetBlock(mysqli_get_proto_info($conn));
$str .= GetBlock(mysqli_get_server_info($conn));
echo $str;
} else {
$str = GetBlock(mysql_get_host_info($conn));
$str .= GetBlock(mysql_get_proto_info($conn));
$str .= GetBlock(mysql_get_server_info($conn));
echo $str;
}
}
function EchoResultSetHeader($errno, $affectrows, $insertid, $numfields, $numrows)
{
$str = GetLongBinary($errno);
$str .= GetLongBinary($affectrows);
$str .= GetLongBinary($insertid);
$str .= GetLongBinary($numfields);
$str .= GetLongBinary($numrows);
$str .= GetDummy(12);
echo $str;
}
function EchoFieldsHeader($res, $numfields)
{
$str = "";
for( $i = 0; $i < $numfields; $i++ ) {
if ($GLOBALS['use_mysqli']) {
$finfo = mysqli_fetch_field_direct($res, $i);
$str .= GetBlock($finfo->name);
$str .= GetBlock($finfo->table);
$type = $finfo->type;
$length = $finfo->length;
$str .= GetLongBinary($type);
$intflag = $finfo->flags;
$str .= GetLongBinary($intflag);
$str .= GetLongBinary($length);
} else {
$str .= GetBlock(mysql_field_name($res, $i));
$str .= GetBlock(mysql_field_table($res, $i));
$type = mysql_field_type($res, $i);
$length = mysql_field_len($res, $i);
switch ($type) {
case "int":
if( $length > 11 ) $type = 8;
else $type = 3;
break;
case "real":
if( $length == 12 ) $type = 4;
elseif( $length == 22 ) $type = 5;
else $type = 0;
break;
case "null":
$type = 6;
break;
case "timestamp":
$type = 7;
break;
case "date":
$type = 10;
break;
case "time":
$type = 11;
break;
case "datetime":
$type = 12;
break;
case "year":
$type = 13;
break;
case "blob":
if( $length > 16777215 ) $type = 251;
elseif( $length > 65535 ) $type = 250;
elseif( $length > 255 ) $type = 252;
else $type = 249;
break;
default:
$type = 253;
}
$str .= GetLongBinary($type);
$flags = explode( " ", mysql_field_flags ( $res, $i ) );
$intflag = 0;
if(in_array( "not_null", $flags )) $intflag += 1;
if(in_array( "primary_key", $flags )) $intflag += 2;
if(in_array( "unique_key", $flags )) $intflag += 4;
if(in_array( "multiple_key", $flags )) $intflag += 8;
if(in_array( "blob", $flags )) $intflag += 16;
if(in_array( "unsigned", $flags )) $intflag += 32;
if(in_array( "zerofill", $flags )) $intflag += 64;
if(in_array( "binary", $flags)) $intflag += 128;
if(in_array( "enum", $flags )) $intflag += 256;
if(in_array( "auto_increment", $flags )) $intflag += 512;
if(in_array( "timestamp", $flags )) $intflag += 1024;
if(in_array( "set", $flags )) $intflag += 2048;
$str .= GetLongBinary($intflag);
$str .= GetLongBinary($length);
}
}
echo $str;
}
function EchoData($res, $numfields, $numrows)
{
for( $i = 0; $i < $numrows; $i++ ) {
$str = "";
$row = null;
if ($GLOBALS['use_mysqli'])
$row = mysqli_fetch_row( $res );
else
$row = mysql_fetch_row( $res );
for( $j = 0; $j < $numfields; $j++ ){
if( is_null($row[$j]) )
$str .= "\xFF";
else
$str .= GetBlock($row[$j]);
}
echo $str;
}
}
function doSystemTest()
{
function output($description, $succ, $resStr) {
echo "<tr><td class=\"TestDesc\">$description</td><td ";
echo ($succ)? "class=\"TestSucc\">$resStr[0]</td></tr>" : "class=\"TestFail\">$resStr[1]</td></tr>";
}
output("PHP version >= 4.0.5", phpversion_int() >= 40005, array("Yes", "No"));
output("mysql_connect() available", function_exists("mysql_connect"), array("Yes", "No"));
output("mysqli_connect() available", function_exists("mysqli_connect"), array("Yes", "No"));
if (phpversion_int() >= 40302 && substr($_SERVER["SERVER_SOFTWARE"], 0, 6) == "Apache" && function_exists("apache_get_modules")){
if (in_array("mod_security2", apache_get_modules()))
output("Mod Security 2 installed", false, array("No", "Yes"));
}
}
/////////////////////////////////////////////////////////////////////////////
////
if (phpversion_int() < 40005) {
EchoHeader(201);
echo GetBlock("unsupported php version");
exit();
}
if (phpversion_int() < 40010) {
global $HTTP_POST_VARS;
$_POST = &$HTTP_POST_VARS;
}
if (!isset($_POST["actn"]) || !isset($_POST["host"]) || !isset($_POST["port"]) || !isset($_POST["login"])) {
$testMenu = $allowTestMenu;
if (!$testMenu){
EchoHeader(202);
echo GetBlock("invalid parameters");
exit();
}
}
if (!$testMenu){
if ($_POST["encodeBase64"] == '1') {
for($i=0;$i<count($_POST["q"]);$i++)
$_POST["q"][$i] = base64_decode($_POST["q"][$i]);
}
if (!function_exists("mysql_connect") && !function_exists("mysqli_connect")) {
EchoHeader(203);
echo GetBlock("MySQL not supported on the server");
exit();
}
$errno_c = 0;
$hs = $_POST["host"];
if ($use_mysqli) {
if( $_POST["port"] )
$conn = mysqli_connect($hs, $_POST["login"], $_POST["password"], "", $_POST["port"]);
else
$conn = mysqli_connect($hs, $_POST["login"], $_POST["password"]);
$errno_c = mysqli_connect_errno($conn);
if($errno_c > 0) {
EchoHeader($errno_c);
echo GetBlock(mysqli_connect_error($conn));
exit;
}
if(($errno_c <= 0) && ( $_POST["db"] != "" )) {
$res = mysqli_select_db($conn, $_POST["db"] );
$errno_c = mysqli_errno($conn);
}
EchoHeader($errno_c);
if($errno_c > 0) {
echo GetBlock(mysqli_error($conn));
} elseif($_POST["actn"] == "C") {
EchoConnInfo($conn);
} elseif($_POST["actn"] == "Q") {
for($i=0;$i<count($_POST["q"]);$i++) {
$query = $_POST["q"][$i];
if($query == "") continue;
if (phpversion_int() < 50400){
if(get_magic_quotes_gpc())
$query = stripslashes($query);
}
$res = mysqli_query($conn, $query);
$errno = mysqli_errno($conn);
$affectedrows = mysqli_affected_rows($conn);
$insertid = mysqli_insert_id($conn);
if (false !== $res) {
$numfields = mysqli_field_count($conn);
$numrows = mysqli_num_rows($res);
}
else {
$numfields = 0;
$numrows = 0;
}
EchoResultSetHeader($errno, $affectedrows, $insertid, $numfields, $numrows);
if($errno > 0)
echo GetBlock(mysqli_error($conn));
else {
if($numfields > 0) {
EchoFieldsHeader($res, $numfields);
EchoData($res, $numfields, $numrows);
} else {
if(phpversion_int() >= 40300)
echo GetBlock(mysqli_info($conn));
else
echo GetBlock("");
}
}
if($i<(count($_POST["q"])-1))
echo "\x01";
else
没有合适的资源?快使用搜索试试~ 我知道了~
Mac OS 10.14安装Navicat 15.0所需安装包NavicatPremium15029.zip
共2808个文件
strings:1358个
nib:663个
png:350个
1星 需积分: 50 13 下载量 152 浏览量
2021-08-12
15:49:51
上传
评论 1
收藏 154.36MB ZIP 举报
温馨提示
Mac OS 10.14安装Navicat 15.0所需安装包NavicatPremium15029
资源推荐
资源详情
资源评论
收起资源包目录
Mac OS 10.14安装Navicat 15.0所需安装包NavicatPremium15029.zip (2808个子文件)
libclntsh.dylib.12.1 82.71MB
libclntshcore.dylib.12.1 4.54MB
_DS_Store 6KB
_DS_Store 6KB
Autoupdate 278KB
Assets.car 7.43MB
CodeResources 3.52MB
CodeResources 128KB
CodeResources 69KB
CodeResources 16KB
CodeResources 10KB
CodeResources 4KB
CodeResources 3KB
CodeResources 3KB
CodeResources 2KB
CodeResources 2KB
style.css 15KB
style.css 15KB
Current 1B
Current 1B
Current 1B
Current 1B
Current 1B
Current 1B
.DS_Store 6KB
libociei.dylib 120.52MB
libcc-premium.dylib 39.08MB
libxl.dylib 28.71MB
libicudata.56.1.dylib 24.21MB
libmozjs-52.dylib 23.01MB
libnnz12.dylib 7.92MB
libmariadb.dylib 5.49MB
libogdf.dylib 4.21MB
libcryptopp.dylib 3.67MB
libprotobuf.10.dylib 2.47MB
libvf.dylib 2.28MB
libdbdiagram.dylib 2.07MB
libcrypto.1.0.0.dylib 1.95MB
libsocketio.dylib 1.67MB
libxml2.2.dylib 1.43MB
libicuuc.56.1.dylib 1.39MB
libgio-2.0.0.dylib 1.37MB
libwxsqlite3secure.dylib 1.29MB
libdv.dylib 1.18MB
libglib-2.0.0.dylib 1.11MB
libcairo.2.dylib 874KB
libcf.dylib 838KB
libConfigurer64.dylib 757KB
libssh.4.dylib 746KB
libturbojpeg.0.dylib 659KB
libfreetype.6.dylib 574KB
libmongoc-1.0.dylib 537KB
libpixman-1.0.dylib 528KB
libjpeg.62.dylib 516KB
libnavicatsync.dylib 466KB
libleveldb_osx.dylib 441KB
libharfbuzz.0.dylib 436KB
libsqlite.dylib 408KB
libssl.1.0.0.dylib 383KB
libnsypush.dylib 334KB
libiodbc.2.dylib 309KB
libgobject-2.0.0.dylib 294KB
libpango-1.0.0.dylib 283KB
libpq.5.dylib 282KB
libons.dylib 253KB
libfontconfig.1.dylib 242KB
libnspr4.dylib 236KB
libbson-1.0.dylib 213KB
libgirepository-1.0.1.dylib 209KB
libpng16.16.dylib 193KB
libmozglue.dylib 159KB
libstat.dylib 157KB
libcairo-script-interpreter.2.dylib 151KB
libcairo-script-interpreter.dylib 151KB
libboost_thread.dylib 124KB
libpangocairo-1.0.0.dylib 121KB
libpangoft2-1.0.0.dylib 112KB
libecpg.6.dylib 99KB
libiodbcinst.2.dylib 84KB
libpgtypes.3.dylib 81KB
libintl.8.dylib 72KB
libffi.6.dylib 59KB
libcairo-gobject.dylib 59KB
libcairo-gobject.2.dylib 59KB
libharfbuzz-gobject.0.dylib 58KB
libboost_random.dylib 45KB
libgmodule-2.0.0.dylib 41KB
libplc4.dylib 38KB
libharfbuzz-icu.0.dylib 37KB
libecpg_compat.3.dylib 36KB
libboost_system.dylib 35KB
libgthread-2.0.0.dylib 35KB
libplds4.dylib 33KB
EE 1.77MB
EE 19B
ScheduleHelperPremium.entitlements 559B
FileMonitor 52KB
FileMonitor 28B
fileop 139KB
popup_close_btn.gif 1KB
共 2808 条
- 1
- 2
- 3
- 4
- 5
- 6
- 29
资源评论
- 简书成研2021-09-09不能使用。。。
- fasolo2022-01-23垃圾111111
qq_36845869
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功