HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //www/wwwroot/ceshidd.lilmn.com/ajax.php
<?php

include_once("connect.php");

$action = $_GET['action'];
$id = 1;
$ip = get_client_ip();

if ($action == 'like') {
    likes(1, $id, $ip);
} elseif ($action == 'unlike') {
    likes(0, $id, $ip);
} else {
    echo jsons($id);
}

function likes($type, $id, $ip) {
    $ip_sql = mysql_query("select ip from votes_ip where vid='$id' and ip='$ip'");
    $count = mysql_num_rows($ip_sql);
    if ($count == 0) {//还没有顶过
        if ($type == 1) {//顶
            $sql = "update votes set likes=likes+1 where id=" . $id;
        } else {//踩
            $sql = "update votes set unlikes=unlikes+1 where id=" . $id;
        }
        mysql_query($sql);

        $sql_in = "insert into votes_ip (vid,ip) values ('$id','$ip')";
        mysql_query($sql_in);

        echo jsons($id);
    } else {
        $msg = $type == 1 ? '您已经顶过了' : '您已经踩过了';
        $arr['success'] = 0;
        $arr['msg'] = $msg;
        echo json_encode($arr);
    }
}

function jsons($id) {
    $query = mysql_query("select * from votes where id=" . $id);
    $row = mysql_fetch_array($query);
    $like = $row['likes'];
    $unlike = $row['unlikes'];
    $arr['success'] = 1;
    $arr['like'] = $like;
    $arr['unlike'] = $unlike;
    $like_percent = round($like / ($like + $unlike), 3) * 100;
    $arr['like_percent'] = $like_percent . '%';
    $arr['unlike_percent'] = (100 - $like_percent) . '%';

    return json_encode($arr);
}

//获取用户真实IP
function get_client_ip() {
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
        $ip = getenv("HTTP_CLIENT_IP");
    else
    if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    else
    if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
        $ip = getenv("REMOTE_ADDR");
    else
    if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
        $ip = $_SERVER['REMOTE_ADDR'];
    else
        $ip = "unknown";
    return ($ip);
}

?>