id юзера в адресной строке вместо логина

id юзера в адресной строке вместо логина

#1 24 мая 2011 в 23:22
Приветствую! Неоднократно обсуждалось, но ответов так и не нашел. Вобщем беспокоет вот что… насколько безопасно, что когда находишься в профиле юзера, в адресной строке путь типа mysite.ru/users/sergey? Получается логин виден всем. Насколько сложно эту ситуацию изменить? или я зря заморачиваюсь и ниче страшного в этом нет…
#2 24 мая 2011 в 23:48
ну ведь не будешь каждого заставлять думать над поролем laugh
#3 25 мая 2011 в 06:38
+1 к автору темы, актуально
#4 25 мая 2011 в 06:51
это параноя
логин не является секретом нигде и никогда, он даже в базе лежит в открытом виде
вы же знаете емейлы всех своих друзей, а они являются логином во вконтакт например
но в то же время эти друзья врятли рассказали вам и свои пароли
#5 25 мая 2011 в 07:46
во… очень доходчивый ответ… все сомнения развеялись враз. Спаисибо!)
#6 25 мая 2011 в 09:20


во… очень доходчивый ответ… все сомнения развеялись враз. Спаисибо!)

PrazdNik
мне интересно, почеми когда всё как Вконтакте, то это считается правильным сразу
Вконтакт это такой идеал? laugh
Не, я ни с кем не спорю, просто человек сомневался, но как только сказали, что Вконтакте точно так же, то это оказалось доходчивым объяснением rofl
#7 25 мая 2011 в 09:24
Anonimus, Вы о чем? причем тут вконтакте? я спросил насколько это опасно, человек объяснил… Если он не прав, предложите свою точку зрения. Итак, как Вы считаете, Anonimus, насколько опасно для пользователя то, что его логин отображается в адресе и как это можно исправить?
#8 25 мая 2011 в 23:16
теоритически это возможно?
#9 26 мая 2011 в 13:30
так собсна в том и вопрос… как в инстанте сделать.
#11 26 мая 2011 в 18:30

вы покупаете мерседес и будете ставить двери как у жигулей ибо так теще  нравится?

Prozaik
могу я понимать ваши слова, как мнение знающего человека? Дело в том, что я завел тему не от того что я умный и хочу переделать систему, а потому что я в этом вопросе мало чего понимаю… и в конце моего поста (см. вначале) я спросил: "или я зря заморачиваюсь и ниче страшного в этом нет?". просто на этот вопрос хотелось слышать четкий, аргументировнный ответ (как это сделал Администратор). Ваш ответ считается таковым?
#12 26 мая 2011 в 19:46
решение есть но не до конца проверенное, если рискнёте протестировать — опубликую…
#13 26 мая 2011 в 20:01

решение есть но не до конца проверенное, если рискнёте протестировать — опубликую…

• Mike •
видимо все так сложно, что приходится рисковать))))
#14 26 мая 2011 в 20:20
да нет всё достаточно просто (но работоспособность проверялось только на вкладках пользователей)
итак — для смелых )
открываем /core/classes/user.class.php находим строку (~1396)
  1.  
  2. public static function getProfileURL($user_login) {
  3.  
заменяем функцию целиком:
  1.  
  2. public static function getProfileURL($user_login) {
  3. $inDB = cmsDatabase::getInstance();
  4. $id = $inDB->get_field('cms_users', "login='{$user_login}'", 'id');
  5. return '/' . self::PROFILE_LINK_PREFIX . 'id'.$id;
  6. }
  7.  
открываем файл /components/users/frontend.php находим (~649)
  1.  
  2. /////////////////////////////// VIEW PROFILE /////////////////////////////////////////////////////////////////////////////////////////
  3. if ($do=='profile'){
  4.  
  5. $inCore->loadLib('clubs');
  6.  
  7. if (!$id){
  8. $login = $inCore->request('login', 'str', '');
  9. $login = urldecode($login);
  10. $id = $inDB->get_field('cms_users', "id='{$id}' ORDER BY is_deleted ASC", 'id');
  11. }
  12.  
заменяем этот блок на:
  1.  
  2. /////////////////////////////// VIEW PROFILE /////////////////////////////////////////////////////////////////////////////////////////
  3. if ($do=='profile'){
  4.  
  5. $inCore->loadLib('clubs');
  6.  
  7. if (!$id){
  8. $id = $inCore->request('id', 'int', '');
  9. }
  10.  
открываем файл /components/users/router.php находим в самом конце:
  1.  
  2. //RewriteRule ^users/([a-zA-z0-9\.]*)$ /index.php?view=users&do=profile&login=$1
  3. $routes[] = array(
  4. '_uri' => '/^users\/([a-zA-z0-9\.]+)$/i',
  5. 'do' => 'profile',
  6. 1 => 'login'
  7. );
  8.  
// закомментируем этот блок и после него (или удаляем и вместо него)
  1.  
  2. //RewriteRule ^users/id([0-9]+)$ /index.php?view=users&do=profile&id=$1
  3. $routes[] = array(
  4. '_uri' => '/^users\/id([0-9]+)$/i',
  5. 'do' => 'profile',
  6. 1 => 'id'
  7. );
  8.  
наверное всё, если будет где-то не работать напишите тут что-нить подправим)
кстати данный хак позволит более точно отбирать условия для плагина user_tip… )
#15 26 мая 2011 в 21:14
• Mike •, спасибо, если решусь- рискну))
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.