/**
* KRUNK.CN API Admin
* @ Website: https://krunk.cn/
*/
include ("kdb/kdb.class.php");
//$db = new kdb();
session_start();
// if (isset($_POST['un'])){
// if (($_POST['un']=='krunk')&&($_POST['pw']=='krunk')){
// $_SESSION["user"]='legna';
// }
// }else if (isset($_GET['logout'])){
// session_unset();
// session_destroy();
// header("Location: admin.php");
// }
$sso_title="KAPI Admin";
$sso_url="admin.php";
$sso_callback_url="https://api.krunk.cn/admin.php";
$sso_api_url="https://api.krunk.cn/sso/v1/";
$sso_need_admin=true;
//Login
if (isset($_GET['key'])&&isset($_GET['sid'])){
if ($_GET['admin']!='true'&&$sso_need_admin){
die("This is not an admin account!");
}else if($_GET['admin']=='true'&&$sso_need_admin){
$_SESSION['ad']=$_GET['key'];
}
$_SESSION['user']=$_GET['key'];
$_SESSION['sid']=$_GET['sid'];
$_SESSION['un']=$_GET['un'];
header("Location: admin.php?admin=true");
}else if (isset($_GET['logout'])){
$key=$_SESSION['user'];
header("Location: ".$sso_api_url."?action=logout&key=".$key."&callback=https://api.krunk.cn/admin.php");
}else if (isset($_GET['logedout'])){
session_unset();
session_destroy();
header("Location: admin.php");
}
//Check SID
function checkSID(){
if (isset($_SESSION["user"])){
$checksid=file_get_contents($sso_api_url."?checksid=".$_SESSION['sid']);
if ($checksid[0]=='1'){
}else{
header("Location: ?logedout=true");
die("Invalid Login");
}
}
}
//Check Login
function checkLogin(){
global $sso_need_admin;
if (!isset($_SESSION["user"])&&!isset($_SESSION["sid"])&&!isset($_SESSION["un"])){
return false;
}else{
if($sso_need_admin){
if (isset($_SESSION['ad'])&&($_SESSION['ad']==$_SESSION['user'])){
return true;
}else{
return false;
}
}else{
return true;
}
}
}
if (!checkLogin()){
if (basename($_SERVER['REQUEST_URI'])=='admin.php'){
echo '
'.$sso_title.'
'.$sso_title.'
';
exit(0);
}else{
header("Location: admin.php");
}
}else{
if (basename($_SERVER['REQUEST_URI'])=='admin.php'){
checkSID();
header("Location: admin.php?admin=true");
}
}
echo '';
if (!checkLogin()){
echo "Not Admin";
exit(0);
}else{
if (isset($_GET['deletetoken'])){
$token_db = new kdb([
'dir' => 'token/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
$token_db->delete('token_data',$_GET['deletetoken']);
header("Location: ?admin=true&token=true");
}else if(isset($_GET['deletemail'])){
$mail_db = new kdb([
'dir' => 'sendmail/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
$mail_db->delete('call_data',$_GET['deletemail']);
header("Location: ?admin=true&mail=true");
}else if(isset($_GET['deleteuser'])){
$user_db = new kdb([
'dir' => 'sso/v1/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
$user_db->delete('user_data',$_GET['deleteuser']);
header("Location: ?admin=true&user=true");
}else if(isset($_GET['adduser'])){
$user_db = new kdb([
'dir' => 'sso/v1/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
$data = array(
'username' => $_POST['username'],
'pw' => md5($_POST['password']),
'time' => date('Y/m/d H:i:s a', time()),
'sid' => 'New_User_Without_USID',
'admin' => 'false'
);
$user_db->insert('user_data',$data);
header("Location: ?admin=true&user=true");
}
echo '
';
if (isset($_GET['mail'])){
$mail_db = new kdb([
'dir' => 'sendmail/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
echo '查找所有已发送邮件
';
$users = $mail_db->find('call_data');
$users=array_reverse($users,true);
foreach ($users as $key => $user) {
echo 'Time : ' . $user['time'] . '
';
echo 'IP : ' . $user['ip'] . '
';
echo 'Receiver : ' . $user['receiver'] . '
';
echo 'Data : ' . $user['data'] . '
';
echo '
';
}
}else if (isset($_GET['token'])){
$token_db = new kdb([
'dir' => 'token/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
echo '查找所有可用Token
';
$users = $token_db->find('token_data');
$users=array_reverse($users,true);
//$count=0;
foreach ($users as $key => $user) {
//echo $count."
";
//$count++;
echo 'Time : ' . $user['time'] . '
';
echo 'IP : ' . $user['ip'] . '
';
echo 'Token : ' . $user['token'] . '
';
echo 'Pass Used : ' . $user['pass'] . '
';
echo '
';
}
}else if (isset($_GET['user'])){
$user_db = new kdb([
'dir' => 'sso/v1/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
echo '用户管理
';
echo '
';
$users = $user_db->find('user_data');
$users=array_reverse($users,true);
foreach ($users as $key => $user) {
echo 'Username : ' . $user['username'] . '
';
//echo 'PW : ' . $user['pw'] . '
';
echo 'Create Time : ' . $user['time'] . '
';
echo 'USID : ' . $user['sid'] . '
';
echo 'Admin : ' . $user['admin'] . '
';
if ($key!=$_SESSION['user']){
echo '
';
}else{
echo 'Can not delete current user
';
}
}
}else if (isset($_GET['geoip'])){
$token_db = new kdb([
'dir' => 'geoip/kdb/',
'extension' => 'kdb',
'encrypt' => false,
]);
echo '查找所有GEOIP记录
';
$users = $token_db->find('geoip_log');
$users=array_reverse($users,true);
//$count=0;
foreach ($users as $key => $user) {
//echo $count."
";
//$count++;
echo 'Time : ' . $user['time'] . '
';
echo 'IP : ' . $user['ip'] . '
';
}
}
}
?>