Page 1 of 1

PHP abuse

Posted: Thu May 11, 2006 8:30 pm
by SpacePower
Hello maybe someone can help.

I admin at www.stayhuman.org the phpbb2-forum. Server is hosted by Crystaltech and they put it down for the following reason:
Your sites forum was the cause of unexpected downtime on the server due to the PHP scripts not finishing in a timely manner. Due to the severity of the issue, we were forced to disable the '/phpBB2' folder by renaming it to 'phpBB2_Disabled_By_Crystaltech'.
Please identify and resolve any issues this folder may have before renaming it back. Please also keep us updated on your progress.
Attached is a log file of the processes that were found running.

In the log file you can find following (long list shorten):

Code: Select all

[ID]: 7760 (php.exe) [Parent: 7624] [User: \]
[cmd]: c:\php\php.exe d:\inetpub\stayhuman\phpBB2\viewforum.php
Mem: 9408k VMem: 44320k PageFaults: 3403
[Threads: 1] [Reads: 100] [Writes: 22] [Other: 435] [Hndls: 61] 

...

[ID]: 10388 (php.exe) [Parent: 7624] [User: \]
[cmd]: c:\php\php.exe d:\inetpub\stayhuman\phpBB2\memberlist.php
Mem: 9176k VMem: 44320k PageFaults: 3250
[Threads: 1] [Reads: 99] [Writes: 17] [Other: 426] [Hndls: 61] 

[ID]: 11748 (php.exe) [Parent: 7624] [User: \]
[cmd]: c:\php\php.exe d:\inetpub\stayhuman\phpBB2\faq.php
Mem: 9008k VMem: 44320k PageFaults: 3180
[Threads: 1] [Reads: 104] [Writes: 13] [Other: 429] [Hndls: 61] 

...

[ID]: 4184 (php.exe) [Parent: 7624] [User: \]
[cmd]: c:\php\php.exe d:\inetpub\stayhuman\phpBB2\viewforum.php
Mem: 9200k VMem: 44320k PageFaults: 3404
[Threads: 1] [Reads: 100] [Writes: 21] [Other: 436] [Hndls: 75] 

[ID]: 7548 (php.exe) [Parent: 7624] [User: \]
[cmd]: c:\php\php.exe d:\inetpub\stayhuman\phpBB2\memberlist.php
Mem: 9164k VMem: 44320k PageFaults: 3279
[Threads: 1] [Reads: 99] [Writes: 17] [Other: 426] [Hndls: 75] 

...

[ID]: 10956 (php.exe) [Parent: 7624] [User: \]
[cmd]: c:\php\php.exe d:\inetpub\stayhuman\phpBB2\viewtopic.php
Mem: 9320k VMem: 44320k PageFaults: 3704
[Threads: 1] [Reads: 111] [Writes: 14] [Other: 447] [Hndls: 81] 

...

[ID]: 11284 (php.exe) [Parent: 7624] [User: WEBB12\IUSR_216.197.104.45]
[cmd]: c:\php\php.exe d:\inetpub\stayhuman\phpBB2\viewtopic.php
Mem: 10100k VMem: 42500k PageFaults: 2807
[Threads: 2] [Reads: 57] [Writes: 0] [Other: 278] [Hndls: 99] 

... 
Does anybody know what this means?
I am very sure that the php-scripts of this forum are not responsible for their timeout. I use the newest version 2.0.20
So the most of the users are guests. As I understand it right a lot of - how are they called - webrobots scanning the forum to find a way to get in. So could this be the reason

I have not chosen this provider. Using Windows - IIS. Also Administration of the Database is very poor.

Posted: Thu May 11, 2006 8:51 pm
by -jm-
Well ... they're all key files for normal forum usage. If they crashed the server ... :?

Number of users?
Number of posts?

Starting to look around for another host couldn't be a so bad idea ;) .

Posted: Thu May 11, 2006 10:21 pm
by SpacePower
Is there maybe the possibility to exclude webrobots from the forum? Blocking IP-addresses? Reading also exclusive for registered users?

Posted: Fri May 12, 2006 11:56 am
by SpacePower
SpacePower wrote: Reading also exclusive for registered users?


I checked this out. Could work. So webrobots would only get the links of the index- and login-page. The Search link is blocked only for registered users. How can I make this also for the Memberlist and Usergroups?
I found this in the search.php:

Code: Select all

		//
		// If not logged in we explicitly prevent searching of private forums
		//
		$auth_sql = '';
		if ( $search_forum != -1 )
		{
			$is_auth = auth(AUTH_READ, $search_forum, $userdata);

			if ( !$is_auth['auth_read'] )
			{
				message_die(GENERAL_MESSAGE, $lang['No_searchable_forums']);
			}

			$auth_sql = "f.forum_id = $search_forum";
		}
Should be adapted for memberlist- and groupcp.php - returning to the index or loginpage. Is there already a solution for this?

Posted: Fri May 12, 2006 12:12 pm
by SpacePower
Ok for memberlist I found it:

Code: Select all

init_userprefs($userdata);
// modified
if ($userdata['user_id'] == ANONYMOUS) 
{ 
redirect(append_sid('login.'.$phpEx)); 
}