Jump to content
php.lv forumi

IP uzskaites, arī IP banu, sistēma


daGrevis

Recommended Posts

Sveiki,

 

Tikko izveidoju "prototipu" tai x'ajai sistēmai! xD Domāju, ka visiem princips skaidrs (aplūkojot kodu).

 

DB schema:

 

CREATE TABLE `ip_addresses` (

   `id` int( 8 ) NOT NULL auto_increment, /* Is this necessary? */
   `ip_address` varchar( 15 ) NOT NULL,
   `ban` int( 1 ) NOT NULL,

   PRIMARY KEY ( `id` )

); /* Any special engine? */

 

1.1) Vai 'id' ir vajadzīgs? Es vienkārši paņēmu kristālu bumbu un šamā Man pateica, ka pēc gada Mans 'id' būs uzkāpis pa trepītēm augstu. Ļoti augstu.

1.2) Vai nevajadzētu kaut kādu "memory" engine'u?? O.o

 

PHP:

 

$ip_address = $_SERVER['REMOTE_ADDR'];

$query = mysql_query("

SELECT `id`
FROM `ip_addresses`
WHERE `ip_address` = '{$ip_address}'
LIMIT 1

") or exit( mysql_error() );


if( mysql_num_rows( $query ) === 0 ) {

mysql_query("

	INSERT INTO `ip_addresses` ( `ip_address` )
	VALUES ( '{$ip_address}' )

") or exit( mysql_error() );

}

Link to comment
Share on other sites

IP adrešu banošanai. Lietotāju banošanai es izveidošu lauku 'ban' tabulā 'users'.

Protams, gribētos to visu sasaistīt, bet kad par to domāju, apstājos pie tā, ka ja daudziem datoriem (daudziem lietotājiem, tāpēc) ir viena IP adrese, kā skolā... tad ko?? O.o Vispār?!

Link to comment
Share on other sites

IP adrešu banošanai. Lietotāju banošanai es izveidošu lauku 'ban' tabulā 'users'.

Protams, gribētos to visu sasaistīt, bet kad par to domāju, apstājos pie tā, ka ja daudziem datoriem (daudziem lietotājiem, tāpēc) ir viena IP adrese, kā skolā... tad ko?? O.o Vispār?!

Tad savukārt nav jēga nebanotās adreses glabāt. Nu būs tev saraksts, ko tu ar viņām iesāksi, pēc kādiem principiem SELECT taisīsi?

Link to comment
Share on other sites

IMHO, id nav vajadzīgs, ip vajag INT UNSIGNED, un glabāt, kā INT - http://lv.php.net/manual/en/function.ip2long.php - to arī kā primāro atslēgu vari definēt.

no `ban` nav jēgas, ja glabāsi tikai banotās ip, bet vari pielikt tādus laukus, kā `ban_time` un `reason`, attiecīgi, kad nobanoji un par ko.

Vienīgi, ar IP banu vari vienā piegājienā nobanot kādu lielu iestādi, vai, piemēram, visus LMT abbonomentus, tāpēc jēga tam ir pārdomu vērta.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...