[ Príspevok: 1 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Restrict Account To IP

Registrovaný: 01.05.05
Príspevky: 12421
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 14.10.2006 14:50 | Restrict Account To IP

Kód:
##############################################################
## MOD Title: Restrict Account To IP
## MOD Author: geocator < geocator@gmail.com > (Brian) http://www.geocator.us
## MOD Description: Allows you to restrict login on an account to a specific IP address or range
## MOD Version: 1.0.1
##
## Installation Level: Moderate
## Installation Time: 16 minutes
## Files To Edit: login.php
##                language/lang_english/lang_main.php
##                admin/admin_users.php
##                language/lang_english/lang_admin.php
##                templates/subSilver/admin/user_edit_body.tpl
## Included Files:
## Generator: MOD Studio 3.0 Alpha 1 [mod functions 0.2.1677.25348]
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: Todo - user facing, in line finds
##############################################################
## MOD History:
## 
##   2005-07-28 - Version 1.0.1
##
##      - Various MOD Template related changes
## 
##   2005-07-22 - Version 1.0.0
##
##      - Full Release
##      - Removed php 3 compatibility code, no longer required
##      - Changed admin panel html for looks
##      - Modified MOD template with in-line finds
##
##   2004-10-02 - Version 0.0.2
##
##      - Added ranges
##
##   2004-09-11 - Version 0.0.1
##
##      - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ SQL ]------------------------------------------
#
ALTER TABLE `phpbb_users` ADD `user_iprange` VARCHAR( 255 ) , ADD `user_restrictip` TINYINT( 1 ) DEFAULT '0' NOT NULL ;
#
#-----[ OPEN ]------------------------------------------
#

login.php
#
#-----[ FIND ]------------------------------------------
#
         $sql = "SELECT user_id, username, user_password, user_active, user_level
#
#-----[ IN-LINE FIND ]------------------------------------------
#
user_active, user_level
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
, user_iprange, user_restrictip
#
#-----[ FIND ]------------------------------------------
#
         if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
#
#-----[ BEFORE, ADD ]------------------------------------------
#
         if( $row['user_restrictip'] )
         {
            $my_ip = decode_ip($user_ip);
            $my_ip_explode = explode('.', $my_ip);
            $valid_ip = FALSE;
            
            $ip_sets = explode(',', $row['user_iprange']);

            for($i = 0; $i < count($ip_sets); $i++)
            {
               
               $ip_type = count(explode('.', $ip_sets[$i]));
               if ($ip_type == 4)
               {
                  
                  if($my_ip == $ip_sets[$i])
                  {
                     $valid_ip = TRUE;
                     
                  }
               }
               else if ($ip_type == 3)
               {
               
                  $ip_set_explode = explode('.', $ip_sets[$i]);
                  if (($my_ip_explode[0] == $ip_set_explode[0]) && ($my_ip_explode[1] == $ip_set_explode[1]) && ($my_ip_explode[2] == $ip_set_explode[2]))
                  {
                     $valid_ip = TRUE;
                     
                  }
               }
               else if (ereg("-",$ip_sets[$i]))
               {
               
                  $ar = explode("-",$ip_sets[$i]);
                  $your_long_ip = ip2long(decode_ip($user_ip));
                  if ( ($your_long_ip >= ip2long(trim($ar[0]))) && ($your_long_ip <= ip2long(trim($ar[1]))) )
                  {
                     $valid_ip = TRUE;
                     
                  }
               }


            }
            
            if($valid_ip == FALSE)
            {
               message_die(GENERAL_MESSAGE, $lang['restrict_ip']);
            }
         }
#
#-----[ OPEN ]------------------------------------------
#

language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['restrict_ip'] = 'You can not log into this account from this IP address/range.';

#
#-----[ OPEN ]------------------------------------------
#

admin/admin_users.php
#
#-----[ FIND ]------------------------------------------
#
      $user_allowavatar = ( !empty($HTTP_POST_VARS['user_allowavatar']) ) ? intval( $HTTP_POST_VARS['user_allowavatar'] ) : 0;
#
#-----[ AFTER, ADD ]------------------------------------------
#
      $user_restrictip = ( !empty($HTTP_POST_VARS['user_restrictip']) ) ? intval( $HTTP_POST_VARS['user_restrictip']) : 0;
      $user_iprange = ( !empty($HTTP_POST_VARS['user_iprange']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['user_iprange']))) : '';

#
#-----[ FIND ]------------------------------------------
#
            SET " . $username_sql . $passwd_sql . "user_email =
#
#-----[ IN-LINE FIND ]------------------------------------------
#
user_rank = $user_rank
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
, user_restrictip = $user_restrictip, user_iprange = '" . str_replace("\'", "''", $user_iprange) . "'
#
#-----[ FIND ]------------------------------------------
#
      $user_status = $this_userdata['user_active'];
      $user_allowavatar = $this_userdata['user_allowavatar'];
      $user_allowpm = $this_userdata['user_allow_pm'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
      $user_restrictip = $this_userdata['user_restrictip'];
      $user_iprange = $this_userdata['user_iprange'];

#
#-----[ FIND ]------------------------------------------
#
         $s_hidden_fields .= '<input type="hidden" name="user_rank" value="' . $user_rank . '" />';

#
#-----[ AFTER, ADD ]------------------------------------------
#
         $s_hidden_fields .= '<input type="hidden" name="user_restrictip" value="' . $user_restrictip . '" />';
         $s_hidden_fields .= '<input type="hidden" name="user_iprange" value="' . $user_iprange . '" />';

#
#-----[ FIND ]------------------------------------------
#
         'RANK_SELECT_BOX' => $rank_select_box,
#
#-----[ AFTER, ADD ]------------------------------------------
#
         'USER_RESTRICTIP_YES' => ($user_restrictip) ? 'checked="checked"' : '',
         'USER_RESTRICTIP_NO' => (!$user_restrictip) ? 'checked="checked"' : '',
         'USER_IPRANGE' => $user_iprange,
#
#-----[ FIND ]------------------------------------------
#
         'L_EMAIL_ADDRESS' => $lang['Email_address'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
         'L_USER_RESTRICTIP' => $lang['restrictip'],
         'L_USER_IPRANGE' => $lang['iprange'],
         'L_ABOUTRESTRICTIP' => $lang['about_restrictip'],
         'L_ABOUT_IPRANGE' => $lang['about_range'],
#
#-----[ OPEN ]------------------------------------------
#

language/lang_english/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['iprange'] = 'IP Range';
$lang['restrictip'] = 'Restrict to IP';
$lang['about_restrictip'] = 'Restrict Account To IP';
$lang['about_range'] = 'Enter the following formats seperated by a comma:<ul><li>Single IP</li><li>Subnet: 192.168.1</li><li>Range: 192.167.0.0-192.168.8.1</li></ul>';

#
#-----[ OPEN ]------------------------------------------
#

templates/subSilver/admin/user_edit_body.tpl
#
#-----[ FIND ]------------------------------------------
#
   <!-- END avatar_local_gallery -->

   <tr>
     <td class="catSides" colspan="2">&nbsp;</td>
   </tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
   <tr>
     <th class="thSides" colspan="2">{L_ABOUTRESTRICTIP}</th>
   </tr>
   <tr>
     <td class="row1"><span class="gen">{L_USER_RESTRICTIP}</span></td> 
     <td class="row2">
      <input type="radio" name="user_restrictip" value="1" {USER_RESTRICTIP_YES} />
      <span class="gen">{L_YES}</span>&nbsp;&nbsp;
      <input type="radio" name="user_restrictip" value="0" {USER_RESTRICTIP_NO} />
      <span class="gen">{L_NO}</span><br /><br /></td>
   </tr>
   <tr>
     <td class="row1">   
      {L_USER_IPRANGE}<br />
      {L_ABOUT_IPRANGE}
     </td>   
     <td class="row2">   
       <textarea name="user_iprange" maxlength="255" rows=5 cols=25>{USER_IPRANGE}</textarea>
     </td>
   </tr>
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
 [ Príspevok: 1 ] 


Restrict Account To IP



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Restrict images in signatures

v Redakčné systémy

0

222

14.10.2006 15:11

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Steam account

v Počítačové hry

2

861

24.09.2006 19:29

FPS_Breaker

V tomto fóre nie sú ďalšie neprečítané témy.

Microsoft account

v Služby a webstránky

0

119

06.03.2013 11:04

Axio

V tomto fóre nie sú ďalšie neprečítané témy.

Paypal account

v Obchody, reklamácie a právo

4

1355

07.09.2007 15:36

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Zabudnutý account

v Počítačové hry

4

306

26.03.2010 14:18

Dj Kuno

V tomto fóre nie sú ďalšie neprečítané témy.

Paypal Validation Account

v Služby a webstránky

6

239

19.03.2016 15:20

MAREK17

V tomto fóre nie sú ďalšie neprečítané témy.

Account Self-Delete

v Redakčné systémy

0

509

13.10.2006 9:04

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

ICQ account bloked

v Sieťové a internetové programy

7

442

04.12.2006 9:45

nZL

V tomto fóre nie sú ďalšie neprečítané témy.

win 7 account deleted

v Operačné systémy Microsoft

0

54

17.06.2013 5:56

Mysql_dodo

V tomto fóre nie sú ďalšie neprečítané témy.

vista a administrator - level account

v Operačné systémy Microsoft

1

156

07.07.2010 20:34

david3504

V tomto fóre nie sú ďalšie neprečítané témy.

USB WiFi v User account

v Siete

1

397

28.09.2008 19:11

Quizath

V tomto fóre nie sú ďalšie neprečítané témy.

Paypal- link a bank account

v Ekonomika, práca, biznis, podnikanie a peniaze

9

305

02.04.2016 9:29

DiPo

V tomto fóre nie sú ďalšie neprečítané témy.

Paypal...nefunguje možnosť personal account

v Obchody, reklamácie a právo

5

509

13.08.2011 22:37

89Aquarius

V tomto fóre nie sú ďalšie neprečítané témy.

Auto Activate Main Admin Account

v Redakčné systémy

0

273

14.10.2006 15:02

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

P: Battlenet account: SC2, WOW:TBC

v Predám

0

225

06.05.2012 6:28

phau

V tomto fóre nie sú ďalšie neprečítané témy.

email account outlook t-com problem

v Sieťové a internetové programy

4

120

28.01.2013 0:01

michalesku



© 2005 - 2017 PCforum, edited by JanoF