Annonce

  •  » Plugins
  •  » [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

#1 2006-02-06 22:52:55

sAm
Membre
2005-09-02
171

[1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

Bonjour,

Serait-il possible de faire loguer directement un accès via une page renvoi php...

Concrètement :
Faire une copie de identification.php (lui mettre (en dur) les bons accès directement logintest/passwordtest)
et renvoyé en page d'accueil...

Je m'explique, je souhaite mettre en ligne un site pour chercher du taff... Je voudrai orienté mon site PWG avec les bon argu ect...
Et donc faire un lien sur mon cv du type : http://monsite.free.fr/pwg/annoncesmarketing.php
qui loguerait (avec cookie le remember-me) diretement le visiteur en user : marketing et password : MDP
et qui me permettrai de mettre en avant les fonctions marketing...

Ca fait 2heures que j'essai de bidouiller une copie de identification.php J'ai essayé ça...mais sans résultat...
je pense que beaucoup de choses se jouent ici :

Code:

if (isset($_POST['login']))
{
  $username = 'marketing';
  // retrieving the encrypted password of the login submitted
  $query = '
SELECT '.$conf['user_fields']['id'].' AS id,
       '.$conf['user_fields']['password'].' AS password
  FROM '.USERS_TABLE.'
  WHERE '.$conf['user_fields']['username'].' = \''.$username.'\'
;';
  $row = mysql_fetch_array(pwg_query($query));
  if ($row['password'] == $conf['pass_convert']('MDP'))
  {
    $session_length = $conf['session_length'];
    if ($conf['authorize_remembering']
        and isset($_POST['remember_me'])
        and 1 == 1)
    {
      $session_length = $conf['remember_me_length'];
    }
    $session_id = session_create($row['id'], $session_length);
    redirect('category.php?id='.$session_id);
  }
  else
  {
    array_push( $errors, $lang['invalid_pwd'] );
  }
}

Il faut pouvoir simuler l'enregistrement de l'utilisateur... et se passer de la validation du formulaire de la page...

Je pense que cette manip pourrais servir à d'autres mais pas forcement pour ce besoin là...
Merci encore de votre aide

Dernière modification par samyyy (2006-02-06 22:54:40)

Hors ligne

#2 2006-02-07 00:00:33

CHUCKYCHUCK
Membre
2005-09-25
19

Re: [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

tu crées un compte utilisateur, tu te loggues avec, tu repère le numéro de session dans la barre d'adresse
ensuite tu vas dans la base de données pour mettre la date d'expiration de la session à perpet,

tu copies-colles ce qu'il y a dans la barre d'adresse ( l'url est cryptée et ne révèle pas le password ), et tu files le lien a qui tu veux

( c'est également utile pour simuler un site bilingue )

@+

Dernière modification par CHUCKYCHUCK (2006-02-07 00:05:42)


http://www.pikkitux.com des tutoriaux sur Ubuntu/Linux, l'informatique en général, la création web ...
ainsi que des photos de mes potes et moi jouant au street hockey, au lycée ...

Hors ligne

#3 2006-02-07 07:29:44

sAm
Membre
2005-09-02
171

Re: [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

Jvai essayé ça aujourd'hui mais à première vu ça a l'air vachement plus simple que mon idée de charlattant....
Merci bcp...

Hors ligne

#4 2006-02-07 07:38:01

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

CHUCKYCHUCK a écrit:

tu crées un compte utilisateur, tu te loggues avec, tu repère le numéro de session dans la barre d'adresse
ensuite tu vas dans la base de données pour mettre la date d'expiration de la session à perpet,

tu copies-colles ce qu'il y a dans la barre d'adresse ( l'url est cryptée et ne révèle pas le password ), et tu files le lien a qui tu veux

( c'est également utile pour simuler un site bilingue )

@+

Bonne idée...
tu crées un compte utilisateur, tu te loggues avec, tu repère le numéro de session dans la barre d'adresse
tu copies-colles ce qu'il y a dans la barre d'adresse ( l'url est cryptée et ne révèle pas le password ), et tu files le lien a qui tu veux
ensuite tu vas dans la base de données pour mettre la date d'expiration de la session à perpet,

Mais cela ne marchera plus en 1.6... 8-/


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#5 2006-02-07 07:43:42

sAm
Membre
2005-09-02
171

Re: [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

Faudra trouver autre chose alors pour la 1.6....
En tout cas merci de cette infos qui marche à merveille....

Hors ligne

#6 2006-02-07 11:38:27

sAm
Membre
2005-09-02
171

Re: [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

C'est vrai que cela marche bien, mais aucun Cookies n'est crée dans ce système...

-> Ce qui fait que si la personne revient sur le site (sans le lien qui va bien) elle est délogué
-> Si il a des liens internes (en dur) dans le site cela délogue aussi l'utilisateur...

La piste de la copie modifié d'un Identification.php doit être donc creusée...

Ou peut-être un simple fichier php activant un accès et la création du Cookie de cession...?
une idée???? Merci...

Hors ligne

#7 2006-02-07 15:25:58

tlegras
Membre
2005-02-02
175

Re: [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

Idée interessante. dans le meme genre, cela pourrait permettre aussi d'envoyer automatiquement par email une url toute prête quand on crèe un compte utilisateur. pratique pour les utilisateurs qui ont du mal avec les logins/mot de passe. par contre coté securité evidemment c'est moins bien. d'où la modification dans la version 1.6.

Thierry.

Hors ligne

#8 2006-02-09 12:46:39

sAm
Membre
2005-09-02
171

Re: [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

Bon C'est bon....

Après m'être égaré dans des solutions sales (javascript qui valide directement un formulaire d'identification pré rempli, ça ne marche pas en plus)...

j'ai trouvé la bonne modif...
Elle log sur PWG directement avec le login souhaité ici ce sera le compte exemple : SAMYYY
voici le code, il ne vérifie pas le mot de pass (pas besoin) et active le cookie de cession en remember-me!!!

Créer un deuxième ficher identification.php que l'ont pourra nomer identificationsamyyy.php

Code:

<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery                           |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch        : BSF (Best So Far)
// | file          : $RCSfile$
// | last update   : $Date: 2005-09-18 02:29:49 +0200 (dim, 18 sep 2005) $
// | last modifier : $Author: plg $
// | revision      : $Revision: 866 $
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify  |
// | it under the terms of the GNU General Public License as published by  |
// | the Free Software Foundation                                          |
// |                                                                       |
// | This program is distributed in the hope that it will be useful, but   |
// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
// | General Public License for more details.                              |
// |                                                                       |
// | You should have received a copy of the GNU General Public License     |
// | along with this program; if not, write to the Free Software           |
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA.                                                                  |
// +-----------------------------------------------------------------------+

//--------------------------------------------------------------------- include
define('PHPWG_ROOT_PATH','./');
include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );

//-------------------------------------------------------------- identification
$errors = array();
//if (isset($_POST['login']))
//{
//  $username = mysql_escape_string($_POST['username']);
$username = 'SAMMY';
  // retrieving the encrypted password of the login submitted
  $query = '
SELECT '.$conf['user_fields']['id'].' AS id,
       '.$conf['user_fields']['password'].' AS password
  FROM '.USERS_TABLE.'
  WHERE '.$conf['user_fields']['username'].' = \''.$username.'\'
;';
  $row = mysql_fetch_array(pwg_query($query));
//  if ($row['password'] == $conf['pass_convert']($_POST['password']))
//if (1 == 1)
//  {
//    $session_length = $conf['session_length'];
//    if ($conf['authorize_remembering']
//        and isset($_POST['remember_me'])
//        and $_POST['remember_me'] == 1)
//    {
      $session_length = $conf['remember_me_length'];
//    }
    $session_id = session_create($row['id'], $session_length);
    redirect('category.php?id='.$session_id);
//  }
//  else
//  {
//    array_push( $errors, $lang['invalid_pwd'] );
//  }
//}
//----------------------------------------------------- template initialization
//
// Start output of page
//
$title = $lang['identification'];
$page['body_id'] = 'theIdentificationPage';
include(PHPWG_ROOT_PATH.'include/page_header.php');

$template->set_filenames( array('identification'=>'identification.tpl') );

$template->assign_vars(
  array(
    'L_TITLE' => $lang['identification'],
    'L_USERNAME' => $lang['login'],
    'L_PASSWORD' => $lang['password'],
    'L_LOGIN' => $lang['submit'],
    'L_GUEST' => $lang['ident_guest_visit'],
    'L_REGISTER' => $lang['ident_register'],
    'L_FORGET' => $lang['ident_forgotten_password'],
    'L_REMEMBER_ME'=>$lang['remember_me'],

    'U_REGISTER' => add_session_id(PHPWG_ROOT_PATH.'register.php'),
    'U_LOST_PASSWORD' => add_session_id(PHPWG_ROOT_PATH.'password.php'),
    'U_HOME' => add_session_id(PHPWG_ROOT_PATH.'category.php'),
    
    'F_LOGIN_ACTION' => add_session_id(PHPWG_ROOT_PATH.'identification.php')
    ));

if ($conf['authorize_remembering'])
{
  $template->assign_block_vars('remember_me',array());
}
//-------------------------------------------------------------- errors display
if ( sizeof( $errors ) != 0 )
{
  $template->assign_block_vars('errors',array());
  for ( $i = 0; $i < sizeof( $errors ); $i++ )
  {
    $template->assign_block_vars('errors.error',array('ERROR'=>$errors[$i]));
  }
}
//-------------------------------------------------------------- visit as guest
$template->assign_block_vars('free_access',array());
//----------------------------------------------------------- html code display
$template->parse('identification');
include(PHPWG_ROOT_PATH.'include/page_tail.php');
?>

Beaucoup d'autres chose ne servent plus a rien du coup mais comme ça ça fonctionne en tout cas...

ATTENTION :
- Pensez à créer avant l'utilisateur 'SAMYYY' et lui donner le droits que vous souhaitez...
1fichier php = Un accès activé sur le simple lien
N'importe qui appellant le fichier php sera logué d'office sur PWG avec le login inscrit dans le fichier et donc délogué da son ancien login si il avait sont login perso...

Dernière modification par samyyy (2006-02-09 12:48:49)

Hors ligne

  •  » Plugins
  •  » [1.5] Une page qui Log directement LOGIN+MDP sur PWG !!!

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact