|
|
|
@ -11,13 +11,13 @@ On s’appuie essentiellement sur 2 fonctions PHP de base :
|
|
|
|
|
|
|
|
|
|
- `ipset_get()` retourne un IPSet avec l’ensemble des plages / IPs connues, que l’on peut tester avec l’IP du visiteur : |
|
|
|
|
|
|
|
|
|
```php |
|
|
|
|
$ip = $GLOBALS['ip']; |
|
|
|
|
$ipset = ipset_get(); |
|
|
|
|
if ($ipset->match($ip)) { |
|
|
|
|
```php |
|
|
|
|
$ip = $GLOBALS['ip']; |
|
|
|
|
$ipset = ipset_get(); |
|
|
|
|
if ($ipset->match($ip)) { |
|
|
|
|
// On connait cette IP |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
- `ipset_access_author()` va plus loin et retourne d’id_auteur éventuel associé à l’IP du visiteur, |
|
|
|
|
si on connait cette IP. Dans ce cas, une session anonyme est créé contenant les entrées `ip_id_auteur` et `ip_name` |
|
|
|
@ -80,29 +80,29 @@ Un génie nettoie périodiquement les caches disques `tmp/accessip` et `tmp/nofl
|
|
|
|
|
|
|
|
|
|
Vérifier qu’on connait l’auteur : il est identifié ou a une IP connue : |
|
|
|
|
|
|
|
|
|
```php |
|
|
|
|
function autoriser_exemple_acceder_dist($faire, $type, $id, $qui, $opt) { |
|
|
|
|
if ((!$qui or !$qui['id_auteur']) and !ipset_access_author()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
// ... |
|
|
|
|
return true; |
|
|
|
|
```php |
|
|
|
|
function autoriser_exemple_acceder_dist($faire, $type, $id, $qui, $opt) { |
|
|
|
|
if ((!$qui or !$qui['id_auteur']) and !ipset_access_author()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
// ... |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### Nom du visiteur en squelettes |
|
|
|
|
|
|
|
|
|
```html |
|
|
|
|
<div class="small"> |
|
|
|
|
<?php if (!isset($GLOBALS['visiteur_session']['statut'])) { ?> |
|
|
|
|
<?php if (ipset_access_author()) { ?> |
|
|
|
|
<span class="localisation"> |
|
|
|
|
<i class="picto picto-user"></i><span> <?php echo $GLOBALS['visiteur_session']['ip_name']; ?></span> |
|
|
|
|
</span> |
|
|
|
|
<?php } ?> |
|
|
|
|
<a href="#URL_PAGE{login}" class="link-popin link-popin-login"><i class="picto picto-login"></i><span> <:exemple:lien_connexion:></span></a> |
|
|
|
|
<?php } else { ?> |
|
|
|
|
<a href="#URL_PAGE{compte}"><i class="picto picto-user"></i><span> <:exemple:lien_compte:></span></a> |
|
|
|
|
<?php } ?> |
|
|
|
|
</div> |
|
|
|
|
``` |
|
|
|
|
```html |
|
|
|
|
<div class="small"> |
|
|
|
|
<?php if (!isset($GLOBALS['visiteur_session']['statut'])) { ?> |
|
|
|
|
<?php if (ipset_access_author()) { ?> |
|
|
|
|
<span class="localisation"> |
|
|
|
|
<i class="picto picto-user"></i><span> <?php echo $GLOBALS['visiteur_session']['ip_name']; ?></span> |
|
|
|
|
</span> |
|
|
|
|
<?php } ?> |
|
|
|
|
<a href="#URL_PAGE{login}" class="link-popin link-popin-login"><i class="picto picto-login"></i><span> <:exemple:lien_connexion:></span></a> |
|
|
|
|
<?php } else { ?> |
|
|
|
|
<a href="#URL_PAGE{compte}"><i class="picto picto-user"></i><span> <:exemple:lien_compte:></span></a> |
|
|
|
|
<?php } ?> |
|
|
|
|
</div> |
|
|
|
|
``` |