Difference between revisions of "NATS3 Member Logging"
m |
TMMStephenY (talk | contribs) m (moved Member Logging to NATS3 Member Logging) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
{{NATS3 Manual | {{NATS3 Manual | ||
| show_members_admin_section = true | | show_members_admin_section = true | ||
Line 35: | Line 32: | ||
</pre> | </pre> | ||
− | To | + | To ignore the siteid and add the log to the first matching member , use the nosite |
parameter: | parameter: | ||
Line 41: | Line 38: | ||
$url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&nosite=1&ip=$_SERVER[REMOTE_ADDR]"; | $url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&nosite=1&ip=$_SERVER[REMOTE_ADDR]"; | ||
</pre> | </pre> | ||
+ | |||
+ | == CARMA == | ||
+ | If you are using CARMA and NATS and you don't have access to an authentication system that lets you set up posts to remote systems, you can use a smarty plugin like this to post the login to CARMA. | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | <? | ||
+ | function smarty_function_loginlog($params, &$smarty) { | ||
+ | |||
+ | if($_SESSION['login_post_ok']) //already posted login | ||
+ | return; | ||
+ | |||
+ | //build url for post | ||
+ | $url="http://www.server.com/special/loginlog.php?username={$_SERVER['REMOTE_USER']}&siteid=1&ip={$_SERVER['REMOTE_ADDR']}"; | ||
+ | |||
+ | //post to the nats loginlog script | ||
+ | if(@file($url) !== FALSE) | ||
+ | $_SESSION['login_post_ok'] = true; //save post to session | ||
+ | |||
+ | return; | ||
+ | |||
+ | } | ||
+ | ?> | ||
+ | </pre> | ||
+ | |||
+ | To use this plugin you need to do the following: | ||
+ | * Replace ''www.server.com'' with the URL to your NATS installation | ||
+ | * Save this file in the 'carma/includes/smarty/plugins'' directory as ''function.loginlog.php'' | ||
+ | * Add a call to the plugin in your members header like this ''{loginlog}'' | ||
+ | |||
[[Category:Also NATS4 Article]] | [[Category:Also NATS4 Article]] |
Latest revision as of 12:21, 8 October 2010
You can tell NATS to keep a log of member logins. Send a HTTP GET request from your server to the PHP script, /special/loginlog.php with the site's ID number and the member's username. For example, you can add the following code to a PHP script and then run the script:
$url="http://www.example.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&siteid=123&ip=$_SERVER[REMOTE_ADDR]"; @file($url);
To access this secure feature, the IP address of the server making the request must be in the following $config['SECURE_IPS'] configuration file setting. For example,
$config['SECURE_IPS'] = Array('123.123.123.123');
Replace 123.123.123.123 with your server's IP address.
After activating this feature, the member's logins show up in the Members Admin's members details.
Extra Features
To add more than one site, use the siteids parameter:
$url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&siteids=5,64,2&ip=$_SERVER[REMOTE_ADDR]";
To ignore the siteid and add the log to the first matching member , use the nosite parameter:
$url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&nosite=1&ip=$_SERVER[REMOTE_ADDR]";
CARMA
If you are using CARMA and NATS and you don't have access to an authentication system that lets you set up posts to remote systems, you can use a smarty plugin like this to post the login to CARMA.
<? function smarty_function_loginlog($params, &$smarty) { if($_SESSION['login_post_ok']) //already posted login return; //build url for post $url="http://www.server.com/special/loginlog.php?username={$_SERVER['REMOTE_USER']}&siteid=1&ip={$_SERVER['REMOTE_ADDR']}"; //post to the nats loginlog script if(@file($url) !== FALSE) $_SESSION['login_post_ok'] = true; //save post to session return; } ?>
To use this plugin you need to do the following:
- Replace www.server.com with the URL to your NATS installation
- Save this file in the 'carma/includes/smarty/plugins directory as function.loginlog.php
- Add a call to the plugin in your members header like this {loginlog}