📄 viewip.cgi
字号:
#!/usr/bin/perl
#############################################################
# Ikonboard v2.1
# Copyright 2000 Ikondiscussion.com - All Rights Reserved
# Ikondiscussion is a trademark of Ikondiscussion.com
#
# Software Distributed by: Ikondiscussion.com
# Visit us online at http://www.ikondiscussion.com
# Email us on boards@ikondiscussion.com
#
# All files written by Matthew Mecham
#############################################################
#use CGI::Carp "fatalsToBrowser"; # Output errors to browser
use CGI qw(:standard); # Saves loads of work
$CGI::POST_MAX=1024 * 150; # limit post data
$CGI::DISABLE_UPLOADS = 1; # Disable uploads
eval {
($0 =~ m,(.*)/[^/]+,) and unshift (@INC, "$1");
($0 =~ m,(.*)\\[^\\]+,) and unshift (@INC, "$1");
require "ikon.lib"; # Require ikonboard ()
require "data/progs.cgi"; # Require prog names
require "data/boardinfo.cgi";# Require board info
require "data/styles.cgi"; # Require styles info
};
if ($@) {
print header(-charset=>"gb2312"); print start_html(-title=>"ib2000 出错!");
print "不能够找到文件:$@\n如果您使用的是 Windows 类操作系统,请在每一个程序中更改 require 的设置,填入绝对路径!";
print end_html; exit;
}
$|++; # Unbuffer the output
#################--- Begin the program ---###################
$thisprog = "viewip.cgi";
$query = new CGI;
$inforum = $query -> param('forum');
$intopic = $query -> param('topic');
$action = $query -> param('action');
$checked = $query -> param('checked');
$inpostno = $query -> param('postno');
$inmembername = $query -> param('membername');
$inpassword = $query -> param('password');
$inmembername = &cleaninput("$inmembername");
$inpassword = &cleaninput("$inpassword");
print header(-charset=>"gb2312");
if (($inforum) && ($inforum !~ /^[0-9]+$/)) { &error("普通&请不要修改生成的 URL!"); }
if (($intopic ) && ($intopic !~ /^[0-9]+$/)) { &error("普通&请不要修改生成的 URL!"); }
if (($inpostno) && ($inpostno !~ /^[0-9]+$/)) { &error("普通&请不要修改生成的 URL!"); }
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword) { $inpassword = cookie("apasswordcookie"); }
if ($inmembername eq "") {
$inmembername = "客人";
}
else {
&getmemberstime("$inmembername");
}
&title;
$filetoopen = "$ikondir" . "data/allforums.cgi";
open(FILE, "$filetoopen");
@forums = <FILE>;
close(FILE);
foreach $forumline (@forums) { #start foreach @forums
($tempno, $trash) = split(/\|/,$forumline);
if ($inforum eq $tempno) {
($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic) = split(/\|/,$forumline);
}
}
### Forum Graphic Stuff
if ($forumgraphic) {
$forumgraphic = qq~<a href="$forumsprog?forum=$inforum"><img src="$forumgraphic" border=0></a>~;
}
### Grab the post to edit
$filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
open(FILE, "$filetoopen");
@threads = <FILE>;
close(FILE);
$posttoget = $inpostno;
$posttoget--;
($postmembername, $topictitle, $postipaddress, $showemoticons, $showsignature ,$postdate, $post, $posticon) = split(/\|/,@threads[$posttoget]);
$postdate = $postdate + ($timezone*3600) + ($timedifferencevalue*3600);
$postdate = &dateformat("$postdate");
($trash, $topictitle) = split(/\|/,@threads[0]);
### Print the header
$output .= qq~
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
<tr>
<td width=30% rowspan=2 valign=top>
<img src="$imagesurl/images/$boardlogo" border=0>
</td>
<td valign=top align=left>
<font face="$font" color=$fontcolormisc>
<img src="$imagesurl/images/closedfold.gif" border=0> <a href="$forumsummaryprog">$boardname</a>
<br>
<img src="$imagesurl/images/bar.gif" border=0><img src="$imagesurl/images/closedfold.gif" border=0> <a href="$forumsprog?forum=$inforum">$forumname</a>
<br>
<img src="$imagesurl/images/bar.gif" border=0><img src="$imagesurl/images/openfold.gif" border=0> 查看 IP 地址在:<a href="$threadprog?forum=$inforum&topic=$intopic">$topictitle</a>
</td>
</tr>
</table>
<p>
~;
### Check for authorisation.
&getmember("$inmembername");
&moderator;
$cleartoedit = "no";
if (($userregistered eq "no")&&($inmembername ne "客人")) { &error("该用户不存在&此用户被删除!"); }
if (($membercode eq "ad") && ($inpassword eq $password)) { $cleartomove = "yes"; }
if (($inmembmod eq "yes") && ($inpassword eq $password)) { $cleartomove = "yes"; }
unless ($cleartomove eq "yes") { $cleartomove = "no"; }
if ($cleartomove eq "no" && $checked eq "yes") { &error("IP 检测&您不是坛主或版主,也许您的密码输入错误!"); }
if (($cleartomove eq "yes") && ($checked eq "yes")) {
&whosonline("$inmembername|查看 IP|none|查看具体 IP (管理员)|");
### Get the IPaddress when the user signed up
$nametocheck = $postmembername;
$nametocheck =~ s/ /\_/g;
$filetoopen = "$ikondir" . "members/$nametocheck.cgi";
open(FILE,"$filetoopen");
$filedata = <FILE>;
close(FILE);
chomp($filedata);
($trash, $trash, $trash, $trash, $trash, $trash, $trash, $ipaddress, $trash) = split(/\|/,$filedata);
### Print out the ipadress
$output .= qq~
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td>
<table cellpadding=6 cellspacing=1 border=0 width=100%>
<tr>
<td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><font face="$font" color=$fontcolormisc><b>发贴者 $postmembername 的 IP 地址</font></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle width=30%><font face="$font" color=$fontcolormisc><b>主题标题:</b></font></td>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>$topictitle</font></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc><b>发贴时间:</b></font></td>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>$postdate</font></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc><b>发此贴时的 IP 地址:</b></font></td>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>$postipaddress</font></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc><b>注册时的 IP 地址:</b></font></td>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>$ipaddress</font></td></tr>
</table></td></tr></table>
~;
} # end cleared to edit if
else { # start else
### Log in form.
$inmembername =~ s/\_/ /g;
$output .= qq~
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td>
<table cellpadding=6 cellspacing=1 border=0 width=100%>
<form action="$thisprog?forum=$inforum&topic=$intopic&postno=$inpostno&checked=yes" method="post">
<input type=hidden name="forum" value="$inforum">
<input type=hidden name="topic" value="$intopic">
<input type=hidden name="postno" value="$inpostno">
<input type=hidden name="checked" value="yes">
<tr>
<td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><font face="$font" color=$fontcolormisc><b>请输入您的用户名、密码进入管理模式 [查看 IP]</b></font></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle colspan=2 align=center><font face="$font" color=$fontcolormisc><b>只有管理员或者版主才可以查看用户的 IP 地址</b></font></td>
<tr>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>请输入您的用户名</font></td>
<td bgcolor=$miscbackone valign=middle><input type=text name="membername" value="$inmembername"0></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>请输入您的密码</font></td>
<td bgcolor=$miscbackone valign=middle><input type=password name="password" value="$inpassword"0> <font face="$font" color=$fontcolormisc><a href="$profileprog?action=lostpass">忘记密码?</a></font></td></tr>
<tr>
<td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><input type=submit name="submit" value="登 陆"></td></tr></form></table></td></tr></table>
</table></td></tr></table>
~;
} # end else statement
&output(
-Title => "$boardname - 查看 IP",
-ToPrint => $output,
-Version => $versionnumber
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -