Как получить сохраненный пароль ftp из phpStorm?

Я знаю, что технически этот вопрос следует задавать на форумах phpStorm, но, поскольку это популярная IDE (держу пари, что возможное решение будет работать и для других популярных IDE от JetBrains), я думаю:

  • кто-то на SO может знать и делиться ответом (быстрее, чем я получу его от поставщика)
  • ответ на вопрос может быть полезен и ценен для других программистов (в этом отношении, даже если мне нужно будет зайти на форум поставщика, я вернусь с ответом здесь, когда найду его)

Если есть необходимость в контексте: я случайно переключил тип сохраненного соединения с ftp на local folder, а когда я переключился обратно, сохраненные учетные данные исчезли.

Вопрос: можно ли восстановить сохраненный пароль...

  • Угол 1: ...с этого компьютера?
  • Угол 2: ...с другого компьютера, на котором сохранены те же учетные данные, к которым я мог получить доступ через TeamViewer, но пароль ●●●●●●(скрыт)?

person tao    schedule 17.09.2015    source источник


Ответы (4)


Я знаю, что этому вопросу уже 1 год, но для всех остальных вы можете попробовать скопировать выбранный (скрытый) пароль с помощью CTRL+C и вставить его в текстовый документ (проверено с 2016.3 в Debian).

person Andrew Brown    schedule 06.02.2017
comment
Просто и чисто. Не требует никакого дополнительного программного обеспечения. Хороший. - person tao; 06.02.2017
comment
Вау.. Спасибо.. :) - person Andrew Brown; 07.02.2017
comment
Больше не работаю над 2017.1.3, ищу новый ответ. - person Louis; 06.05.2017
comment
проголосовали против, так как он больше не актуален, а фактический ответ набрал меньше голосов - person beppe9000; 06.02.2020

Изменить: этот метод можно использовать только в версии 2016.1 или более ранней. Для более новой версии (вероятно, 2016.2) они изменили метод кодирования. У меня нет подсказки, чтобы расшифровать это.

  1. Откройте C:\Users\.WebIde100\config\options\webServers.xml.
  2. Найдите свой FTP и получите зашифрованный пароль из атрибута пароля.
  3. Расшифруйте пароль. Я написал PHP-скрипт для расшифровки строки:

      $pwd = "Your encrypted password here.";
      $decrypted = '';
    
      while (strlen($pwd) > 0) {
        $decrypted .= chr(hexdec(substr($pwd, 0, 4)) ^ hexdec('dfaa'));
        $pwd = substr($pwd, 4, strlen($pwd) - 1);
      }
      echo $decrypted;
    

    Если вы доверяете моим инструментам, вы можете использовать https://louislam.net/phpstorm-decrypt-password

person Louis    schedule 02.02.2016
comment
Пока у вас нет сервера и имени пользователя, знание пароля никуда не приведет. Сейчас нельзя, но я проверю. Спасибо. - person tao; 02.02.2016
comment
Кто-нибудь знает местонахождение webServers.xml на Mac? - person Shane Jones; 20.06.2017
comment
Для MAC: ~/Library/Preferences/PhpStorm2017.X/options/webServers.xml - person cephuo; 02.10.2017
comment
Хешированный пароль больше не находится внутри webServers.xml. Я считаю, что они хранят его в двоичном файле ~/Library/Caches/PhpStorm2017.X/caches/records.dat - person cephuo; 02.10.2017
comment
предпочел бы javascript или что-то подобное, поэтому мне не пришлось настраивать для этого весь веб-сервер: P, но ваш скрипт выполнил работу для webServers.xml с марта 2017 года. Большое спасибо! Интересно, почему процесс должен быть таким сложным? Обратимое кодирование равносильно отсутствию мер безопасности (кроме предотвращения хранения открытого текста). - person phil294; 03.08.2018

Если вы используете файл базы данных KeePass для хранения паролей, вы можете легко установить пароль для этого файла, сохранить, а затем открыть в диспетчере KeePass или перейти на другой PHPStorm.

  1. Перейдите в Настройки/Настройки | Внешний вид и поведение | Системные настройки | Пароли, введите новый мастер-пароль и сохраните.
  2. Откройте /.PhpStorm2017.1/config/c.kdbx (в «Keepass 2» или «Keeweb») с сохраненным мастер-паролем.
  3. Вот!

См. ответ здесь Получить сохраненный (скрытый) пароль SSH из PhpStorm 2017.1

person PayteR    schedule 11.08.2017

Один из способов, который только что сработал для меня, — это установить Wireshark.
Используйте фильтр захвата 'ftp' и выполните "Проверку соединения" внутри PHPStorm.
Теперь остановите захват и проверьте, что вы пронюхали. Пароль будет там.

person Ben Hitchcock    schedule 26.11.2015
comment
Возможно, вы сможете переключить режимы на FTP, чтобы понюхать. - person Stephane; 20.06.2016
comment
Пальцы вверх! У меня работало с использованием 2016.3.2. Просто скопируйте профиль развертывания, чтобы исходные параметры остались без изменений. Затем установите новый профиль на FTP, войдите на какой-нибудь случайный публичный ftp-сервер и наблюдайте за трафиком порта 21 с помощью Wireshark. - person Chuck; 17.01.2017