From a065e04d529da1d847b5062a12c46d916408bf32 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 21:46:22 -0500 Subject: update based on https://github.com/mdn/yari/issues/2028 --- .../mozilla/getting_started_with_irc/index.html | 315 --------------------- files/ru/archive/mozilla/index.html | 10 - .../archive/mozilla/javascript_crypto/index.html | 275 ------------------ .../ru/archive/mozilla/persona/branding/index.html | 42 --- files/ru/archive/mozilla/persona/index.html | 138 --------- .../mozilla/persona/protocol_overview/index.html | 61 ---- .../archive/mozilla/persona/quick_setup/index.html | 140 --------- .../archive/mozilla/persona/why_persona/index.html | 63 ----- .../index.html" | 53 ---- .../index.html" | 86 ------ files/ru/archive/mozilla/xulrunner/index.html | 104 ------- 11 files changed, 1287 deletions(-) delete mode 100644 files/ru/archive/mozilla/getting_started_with_irc/index.html delete mode 100644 files/ru/archive/mozilla/index.html delete mode 100644 files/ru/archive/mozilla/javascript_crypto/index.html delete mode 100644 files/ru/archive/mozilla/persona/branding/index.html delete mode 100644 files/ru/archive/mozilla/persona/index.html delete mode 100644 files/ru/archive/mozilla/persona/protocol_overview/index.html delete mode 100644 files/ru/archive/mozilla/persona/quick_setup/index.html delete mode 100644 files/ru/archive/mozilla/persona/why_persona/index.html delete mode 100644 "files/ru/archive/mozilla/persona/\320\270\320\275\321\202\320\265\321\200\320\275\320\260\321\206\320\270\320\276\320\275\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" delete mode 100644 "files/ru/archive/mozilla/persona/\320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260_\320\261\321\200\320\260\321\203\320\267\320\265\321\200\320\276\320\262/index.html" delete mode 100644 files/ru/archive/mozilla/xulrunner/index.html (limited to 'files/ru/archive/mozilla') diff --git a/files/ru/archive/mozilla/getting_started_with_irc/index.html b/files/ru/archive/mozilla/getting_started_with_irc/index.html deleted file mode 100644 index da73111af2..0000000000 --- a/files/ru/archive/mozilla/getting_started_with_irc/index.html +++ /dev/null @@ -1,315 +0,0 @@ ---- -title: Начало работы с IRC -slug: Archive/Mozilla/Getting_Started_with_IRC -tags: - - QA - - irc -translation_of: Archive/Mozilla/Getting_started_with_chat ---- -

Что такое IRC?

- -

IRC (Internet Relay Chat) — способ обмена текстовыми сообщениями в реальном времени сразу между многими пользователями. Пользователи подключаются к серверу ипользуя IRC-клиент, и заходят на каналы (в чаты). Пользователи вводят сообщения, которые рассылаются всем другим пользователям на канале. IRC также позволяет подключённым пользователям общаться один-на-один. IRC — основная форма общения между членами сообщества Mozilla (программистами, тестировщикамию пользователями и т. п.).

- -

Общие правила и этикет

- -

Если Ваш клиент уже настроен и подключен к IRC, вот несколько простых правил, следование которым сделает ваш опыт использования IRC приятным и продуктивным.

- -

 

- -

1. Старайтесь выражаться кратко. Если вам надо отправить что-нибудь длинное, например кусок кода, вставьте это на pastebin.mozilla.org, а в IRC отправьте полученный URL.

- -

2. Обращаясь к конкретному человеку, старайтесь использовать форму «Имя: сообщение». Например: «ashughes: good morning!»

- -

3. У каждого канала есть своя тема. Старайтесь её придерживаться. Например, не обсуждайте проблемы с Thunderbird на #Firefox.

- -

4. IRC-каналы Mozilla наиболее активны с понедельника по пятницу с 9 утра по 7 вечера по тихоокеанскому времени, за исключением праздничных дней в США.

- -

5. Задав вопрос, будьте терпеливы. Ответить могут через несколько минут.

- -

6. Если вы, прежде чем задать вопрос, будете дожидаться ответа на сообщение типа «Помогите!» или «Здесь кто-нибудь есть?», вам вряд ли кто-то поможет. Asking a good question will result in a better experience for both you and the person trying to help. There is a good reference for what makes a good question here.

- -

7. Расслабтесь и веселитесь!

- -

Программы

- -

ChatZilla (расширение Firefox)

- -

Есть несколько различных приложений которые позволяют вам соединиться к IRC сети. Простейший в использовании это дополнение к Firefox названным Chatzilla. Следующие инструкции описывают как установить и сконфигурировать Chatzilla для использования в Mozilla IRC сети.

- -

1. Перейдите к addons.mozilla.org для скачивания и установки Chatzilla

- -

2. Щёлкни зелённую Add to Firefox кнопку

- -

3. Щёлкни кнопку Install на Addon Installation dialog

- -

4. Как только ChatZilla установиться, щёлкни Restart Firefox

- -

5. Как только Firefox перезагрузиться, закрой Add-ons диалог

- -

6. Теперь щёлкни Tools menu > ChatZilla для запуска клиента

- -

7. В текстовом поле  в нижней части окна напечаьай /server irc.mozilla.org и нажми enter

- -

8. Вам будет предоставлено ​​случайное имя при первом подключении. Обычно клиент будет использовать просто имя пользователя вашего компьютера. Если данное имя уже используется, то будет использовано что-то как IRCMonkey21710. Вы можете поменять ваш никнейм напечатав /nick nickname, где nickname это ваш желаемый nickname. Вы также можете сменить никнейм используя dropdown box слева от текстового поля.

- -

Смотри Commands раздел ниже для получения дополнительных IRC комманд.

- -

9. Присоединяйтесь к каналу тип /join #channel, где #channel имя канала к которому вы хотите присоединиться.

- -

Смотри Channels раздел ниже для некоторых каналов, доступных в сети Mozilla IRC.

- -

Настольные клиенты

- -

Как было сказано ранее, ChatZilla не единственный существующий IRC-клиент, хотя он и один из самых простых. Преимущество настольных клиентов — в значительно большей настраиваемости. Например, можно выбирать между SSL и незашифрованным соединением, а также настроить клиент при запуске автоматически подключаться к серверу и входить на определённые каналы. Ниже приведены некоторые доступные клиенты:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  -

Windows

-
-

Mac

-
-

Linux

-
Colloquy  -

-
 
IRSSI -

-
-

-
-

*

-
Xchat -

-
-

-
-

*

-
- -

Доступны бинарные или исполняемые программные файлы

- -

○ Доступен только в виде исходного кода, который надо скачать и скомпилировать

- -

●* Исполнимые файлы могут быть доступны. Если нет, надо будет скачать и скомпилировать исходные тексты.

- -

w Веб-приложение (то есть, работает в браузере)

- -

Более полный список IRC-клиентов можно найти здесь.

- -

При использовании настольного клиента надо будет настроить подключение к серверу используя следующую информацию:

- -

Сервер: irc.mozilla.org

- -

Порт: 6667 (default) or 6697 (SSL)

- -

Веб-клиенты

- -

Есть также несколько клиентов, являющихся веб-приложениями, которые позволяют подключаться к IRC кликая на ссылки irc://. Один из простейших таких клиентов — Mibbit. Он работает очень сходно с упомянутыми выше настольными клиентами и ChatZilla’ой. Mibbit НЕ требует Flash или каких-либо других плагинов.

- -

Каналы

- -

Здесь находиться список каналов, для которых вы должны быть в курсе как член сообщества Mozilla: (Не забывайте использовать irc.mozilla.org и порт 6697 или 6667 для настройки сервера)

- - - - - - - - - - - - - - - - -
#qaКанал для обсуждений QA / QE / контроля качества
#developersКанал для обсуждения разработки Mozilla
#sumoКанал для поддержки с Firefox
- -

Для прлучения дополнительной информации о сети Mozilla IRC и каналах, перейдите here.

- -

Команды

- -

Ниже приведен список команд, которые вы должны хорошо знать. Просто введите их в окно сообщений в нижней части экрана и нажмите enter.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/join #channelJoins you to the specified channel until you quit your IRC client or quit the channel
/leaveLeave the current channel
/mode #channel +k passwordSets a password for the channel. If #channel is not specified, the command is executed for the current channel.
/mode #channel +o nicknameSets specified user as an owner or moderator of the specified channel. If a #channel is not specified, the command is executed for the current channel.
/mode #channel +sSets the channel as a secret channel. This takes the channel off the public list of active channels and topics.
/msg nick messageSends a private message to the specified user
/nick nicknameChange your current nickname
nickname: pingGet a user's attention (nickname is the name of the user you want the attention of)
nickname: pongRespond to a user's ping (nickname is the name of the user who wants your attention)
/query nicknameOpens a private chat with the specified user
/quit messageDisconnects you from the current server displaying the message in all connected channels prior to quitting
/reload stylesSome IRC clients, Colloquy on Mac in particular, stop displaying your messages in the channel window. If this happens, you can type this command to resolve this issue.
/server server-nameManually connect to a server
/topic topicChanges the topic of the channel. The topic is a message that displays first when you join a channel.
/whois nicknameDisplay information about the specified user. This information displays in the server window.
- -

For more information about IRC commands go here.

- -

Боты

- -

Some users in IRC are not human. These users are known as bots and automatically perform certain tasks; some automatic, some triggered by other users. The most common of these bots are called NickServ, ChanServ, and Firebot.

- -

NickServ

- -

This bot allows you to register your nickname which prevents other users from using it. NickServ also automatically elevates all registered users to operators when they sign on.The following are some helpful commands which can be used by NickServ:

- - - - - - - - - - - - - - - - - - - - - - - - -
/msg NickServ REGISTER password emailThis registers your nickname with the server.
/msg NickServ IDENTIFY passwordOnce registered, you need to type this every time you want to sign into channels using your registered nickname
/msg NickServ HELPThis displays a list of commands which can be used with NickServ
/msg NickServ HELP REGISTERThis displays helpful information about nickname registration
/msg NickServ HELP IDENTIFY This displays helpful information about identifying yourself upon sign in
- -

For more information about NickServ go here.

- -

ChanServ

- -

This bot allows you to register new channels and control aspects of channels. The following are some helpful commands which can be used by ChanServ:

- - - - - - - - - - - - - - - - -
/msg ChanServ HELPThis displays a list of commands which can be used with ChanServ
/msg ChanServ IDENTIFY #channel passwordAllows you to edit the apsects of the specified channel given the correct password
/msg ChanServ REGISTER #channel password topicRegisters a channel given the correct password and sets the topic
- -

For more information about ChanServ go here.

- -

Firebot

- -

Firebot is a bot which assists with Mozilla related activities on IRC. For instance, Firebot automatically posts messages to #developers about the status of automated tests. The following are some helpful commands which can be used by Firebot:

- - - - - - - - - - - - - - - - - - - - -
bug ######When a bug number is mentioned in a message, Firebot automatically displays the link and summary from bugzilla for that bug.
/msg firebot uuidDisplays a unique identifier. This is useful when creating interfaces for add-on development.
/msg firebot cidDisplays a unique 128-bit number which can be used to identify a class or component.
/invite firebot #channelAdds firebot to the specified channel.
- -

For more information about Firebot go here.

- -

Further Reading

- -

IRC Frequently Asked Questions and other helpful tutorials IRC Channel Operator's Guide (New Version) IRC Channel Operator's Guide (Old Version) [From 1995, but still quite useful]

diff --git a/files/ru/archive/mozilla/index.html b/files/ru/archive/mozilla/index.html deleted file mode 100644 index 0acec76e6d..0000000000 --- a/files/ru/archive/mozilla/index.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Archived Mozilla and build documentation -slug: Archive/Mozilla -tags: - - NeedsTranslation - - TopicStub -translation_of: Archive/Mozilla ---- -

These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.

-

{{SubpagesWithSummaries}}

diff --git a/files/ru/archive/mozilla/javascript_crypto/index.html b/files/ru/archive/mozilla/javascript_crypto/index.html deleted file mode 100644 index b24e78050c..0000000000 --- a/files/ru/archive/mozilla/javascript_crypto/index.html +++ /dev/null @@ -1,275 +0,0 @@ ---- -title: JavaScript crypto -slug: Archive/Mozilla/JavaScript_crypto -translation_of: Archive/Mozilla/JavaScript_crypto ---- -

{{ Non-standard_header() }}{{deprecated_header}}{{ warning("The features mentioned in this article are deleted proprietary Mozilla extensions, and are not supported in any other browser. They won't work in Firefox 34 or later. Use <keygen> or the future Web Crypto API instead.") }}

- -

Using the Mozilla crypto object from JavaScript

- -

Mozilla defines a special JavaScript object to allow web pages access to certain cryptographic-related services. These services are a balance between the functionality web pages need and the requirement to protect users from malicious web sites. Most of these services are available via the DOM {{ domxref("window") }} object as {{ domxref("window.crypto") }}.

- -

Services are provided to enable: smart card events, generating certificate requests, importing user certs, generating random numbers, logging out of your tokens, and signing text.

- -

Handling smart card events

- -

Web sites can make themselves more SmartCard friendly by listening for SmartCard insertion and removal events. To enable your document to receive these events, you must first tell the crypto system you are interested by setting {{ domxref("window.crypto.enableSmartCardEvents") }} to true. You can then register event handlers for these events with the {{ domxref("document.addEventListener()") }} method.

- -

Two smart card related events are generated: smartcard-insert when SmartCards are inserted, and smartcard-remove when SmartCards are removed.

- -

Web sites which use SSL clientAuth login could use the following code to refresh the page on token insertions and removals:

- -
<!DOCTYPE html>
-<p>...
-<script>
-function onSmartCardChange() {
-  window.location.reload();
-}
-function register() {
-  window.crypto.enableSmartCardEvents = true;
-  document.addEventListener("smartcard-insert", onSmartCardChange, false);
-  document.addEventListener("smartcard-remove", onSmartCardChange, false);
-}
-function deregister() {
-  document.removeEventListener("smartcard-insert", onSmartCardChange, false);
-  document.removeEventListener("smartcard-remove", onSmartCardChange, false);
-}
-
-document.body.onload = register;
-document.body.onunload = deregister;
-</script>
-
- -

With the above example, your web site will automatically reload anytime a SmartCard is inserted or removed. This allows the page to automatically login and logout based on the presence of the SmartCard.

- -

Generating keys and issuing user certificates

- -

There are several crypto object methods used in generating keys for certificates: generateCRMFRequest(), importUserCertificates().

- -

The generateCRMFRequest() function generates a key and creates a CRMF Request object. This object can be passed to a CA using a webform.

- -

The importUserCertificates() function loads certificates into the NSS database or SmartCard if the corresponding key is found there.

- -

The popChallengeResponse() function is not implemented.

- -

Overview of the new cert issuing process

- -
    -
  1. User fills out enrollment form
  2. -
  3. User action initiates script
  4. -
  5. Script calls key generation method (generateCRMFRequest)
  6. -
  7. Signing and Encryption keys are generated
  8. -
  9. Encryption Private Key is wrapped with public key of Key Recovery Authority (KRA) (passed in in the form of a certificate as part of the script, and checked against a pre-installed certificate copy in the local certificate database)
  10. -
  11. The public keys, wrapped encryption private key, and text string from the script (possibly containing naming or enrollment info) are signed by the user
  12. -
  13. Signed blob is returned to the script
  14. -
  15. Script submits signed blob and any other necessary info to the CA/RA
  16. -
  17. CA/RA verifies signature on signed blob
  18. -
  19. CA/RA validates identity of user
  20. -
  21. CA/RA sends wrapped encryption private key to KRA
  22. -
  23. KRA sends escrow verification back to CA
  24. -
  25. CA creates and signs certificates
  26. -
  27. CA sends certificates back to the user (importUserCertificates)
  28. -
- -

Typical use

- -

The CA's enrollment page could look something like this:

- -
<!DOCTYPE html>
-<h2>Request a cert</h2>
-<form name="ReqForm" method="post" action="http://your.ra.site.org">
-<p><input type=hidden name=cert_request value="">
-<p>Name: <input type=text name=name value="">
-<p>Password: <input type=password name="password" value="">
-<p><input type=submit Name="Send" value="Submit">
-</form>
-<script>
-/* the following values could be filled in by the server CGI */
-var authenticator = "server_magic";
-var keyTransportCert = null;
-var crmfObject = null;
-var form = document.forms[0];
-
-function validate()
-{
-  // generate keys for nsm.
-  if (typeof(crypto.version) != "undefined") {
-    crmfObject = crypto.generateCRMFRequest(
-      "CN=" + form.name.value,
-      form.password.value,
-      authenticator,
-      keyTransportCert,
-      "setCRMFRequest();",
-      1024,
-      null,
-      "rsa-dual-use");
-  }
-  return false;
-}
-
-function setCRMFRequest()
-{
-  form.cert_request.value = crmfObject.request;
-  form.submit();
-}
-
-form.onsubmit = validate;
-</script>
-
- -

On completion of the request, the CA may submit a page that looks something like this:

- -
<!DOCTYPE html>
-<h2>Certificate Request Successful</h2>
-<p>Hit 'load' to load your certificate</p>
-<form name="ReqForm">
-<p><input type=submit Name="Load" value="Submit"></p>
-</form>
-<script>
-/* the following values could be filled in by the server CGI */
-var nickname= "MyCertNickname";
-var cert = "Mkjflakdjfiwjflaksufklasf ...";
-var forceBackup = false;
-
-function LoadCertificate()
-{
-  window.crypto.importUserCertificates(nickname, cert, forceBackup);
-  return false;
-}
-
-document.forms[0].onsubmit = LoadCertificate;
-</script>
-
- -

Signing text

- -
DOMString signText(DOMString stringToSign,
-                   DOMString caOption /* ... */);
-
- -

Loading PKCS #11 modules

- -
long deletemodule(DOMString moduleName);
-long addmodule(DOMString moduleName,
-               DOMString libraryFullPath,
-               long cryptoMechanismFlags,
-               long cipherFlags);
-
- -

Loads or removes a new PKCS #11 module. In the add case, the module will be placed in the NSS secmod.db database and will be loaded automatically on application restart. In the delete case, the module is removed from the NSS secmod.db. This function will issue a user prompt to confirm the operation before the add or delete actually occurs.

- -
Parameters
- -
-
moduleName
-
Name of the module.
-
libraryFullPath
-
The filename of the library prepended with its full path.
-
cryptoMechanismFlags
-
A bit vector indicating all cryptographic mechanisms should be turned on by default (see below).
-
cipherFlags
-
A bit vector indicating all SSL or S/MIME cipher functions supported by the module (see below).
-
- -

Mechanism flag definitions

- -

In general, most tokens should not set any of the cipher flags. Setting these flags means you want your token to supply the default implementation for these functions. Normally Mozilla uses its own internal module to supply these functions. These flags override that preference. If you choose to implement these flags, your module must supply the following additional functions for each flag:

- - - -
PKCS11_MECH_RSA_FLAG           =  0x1<<0;
-PKCS11_MECH_DSA_FLAG           =  0x1<<1;
-PKCS11_MECH_RC2_FLAG           =  0x1<<2;
-PKCS11_MECH_RC4_FLAG           =  0x1<<3;
-PKCS11_MECH_DES_FLAG           =  0x1<<4;
-PKCS11_MECH_DH_FLAG            =  0x1<<5; //Diffie-Hellman
-PKCS11_MECH_SKIPJACK_FLAG      =  0x1<<6; //SKIPJACK algorithm as in Fortezza cards
-PKCS11_MECH_RC5_FLAG           =  0x1<<7;
-PKCS11_MECH_SHA1_FLAG          =  0x1<<8;
-PKCS11_MECH_MD5_FLAG           =  0x1<<9;
-PKCS11_MECH_MD2_FLAG           =  0x1<<10;
-PKCS11_MECH_RANDOM_FLAG        =  0x1<<27; //Random number generator
-PKCS11_PUB_READABLE_CERT_FLAG  =  0x1<<28; //Stored certs can be read off the token w/o logging in
-PKCS11_DISABLE_FLAG            =  0x1<<30; //tell Mozilla to disable this slot by default
-
- -

Cipher flags

- -
Reserved
-
- -

Important for CryptoMechanismFlags

- -

0x1<<11, 0x1<<12, ... , 0x1<<26, 0x1<<29, and 0x1<<31 are reserved for internal use in Mozilla. Therefore, these bits should always be set to 0; otherwise, Mozilla might exhibit unpredictable behavior.

- -

Important for CipherFlags

- -

All values are reserved for internal use in Mozilla. Therefore, this flag should always be set to 0; otherwise, Mozilla might exhibit unpredictable behavior.

- -

Example of CryptoMechanismFlags and CipherFlags

- -
pkcs11MechanismFlags = PKCS11_MECH_DSA_FLAG | PKCS11_MECH_SKIPJACK_FLAG | PKCS11_MECH_RANDOM_FLAG;
-pkcs11CipherFlags = 0;
-
- -

Return Values

- -
JS_OK_ADD_MODULE                  = 3   // Successfully added a module
-JS_ERR_OTHER                      = -1  // Errors other than the following
-JS_ERR_USER_CANCEL_ACTION         = -2  // User aborted an action
-JS_ERR_INCORRECT_NUM_OF_ARGUMENTS = -3  // Calling a method w/ incorrect # of
-                                        // arguments
-JS_ERR_ADD_MODULE                 = -5  // Error adding a module
-JS_ERR_BAD_MODULE_NAME            = -6  // The module name is invalid
-JS_ERR_ADD_MODULE_DUPLICATE       = -10 // The module being installed has the
-                                        // same name as one of the modules that
-                                        // has already been installed
-
- -

Miscellaneous

- -
DOMString random(in long numBytes);
-
- -

{{ unimplemented_inline() }}You can use window.crypto.getRandomValues instead.

- -
void logout();
-
- -

Logs the user out of all the cryptographic tokens. The next private operation on any token will require the user password again. The SSL session cache is also cleared (from Firefox 1.5 upward).

- -

This means the master password will be requested the next time a saved password will be accessed after this function is called. This also means the SSL client authentication state will be erased for SSL sites with client authentication, and a client certificate prompt will appear again the next time the user connects to the site.

- -
-

Note: This function provides a convenient way to erase the SSL session state at the browser level, but in order to really guarantee that the state is erased, it is more secure to do it on the server side whenever possible.

-
- -
void disableRightClick();
-
- -

{{ unimplemented_inline() }}

diff --git a/files/ru/archive/mozilla/persona/branding/index.html b/files/ru/archive/mozilla/persona/branding/index.html deleted file mode 100644 index fdb5c58213..0000000000 --- a/files/ru/archive/mozilla/persona/branding/index.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Ресурсы -slug: Archive/Mozilla/Persona/branding -translation_of: Archive/Mozilla/Persona/User_interface_guidelines ---- -

Вход с кнопками Persona

-

Изображения

-

Кнопки входа есть в 3 вариантах, каждый в 3 цветах (изображения; англ. текст):

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Sign in with your EmailSign in with PersonaSign in
Черный
Синий
Красный
-

CSS

-

Савье Холенсхед создал набор прекрасных CSS кнопок. Скачать (.zip)

-

Подробне

-

Вы можете найти больше информации о дизайне Persona в учебнике стиля.

diff --git a/files/ru/archive/mozilla/persona/index.html b/files/ru/archive/mozilla/persona/index.html deleted file mode 100644 index b391407c7c..0000000000 --- a/files/ru/archive/mozilla/persona/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: Персона -slug: Archive/Mozilla/Persona -tags: - - Obsolete - - Persona -translation_of: Archive/Mozilla/Persona ---- -
-

Оставайтесь на связи или получите помощь!

- -

Подпишитесь на наш блог, присоединяйтесь к нашей рассылке, или найдите нас в #identity в системе IRC.

-
- -

On November 30th, 2016, Mozilla shut down the persona.org services. Persona.org and related domains will soon be taken offline.

For more information, see this guide to migrating your site away from Persona:

https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers

- -

Mozilla Persona - это полностью децентрализированная и безопасная система авторизации на сайтах, основанная на открытом протоколе BrowserID. Чтобы быть уверенным, что Persona работает везде и у всех, Mozilla в настоящее время работает над небольшим набором дополнительных централизованных сервисов, относящихся к системе Persona.

- -

Почему вам стоит использовать Persona на вашем сайте?

- -
    -
  1. Persona полностью избавляет от необходимости локального пароля на сайте, освобождая пользователей и сайты от работ по созданию, управлению и безопасному хранению паролей. Пользователю требуется зарегистрироваться один раз на Persona и он сможет заходить на любые совместимые сайты не затрачивая время на регистрацию.
  2. -
  3. Persona проста в использовании. Всего двумя кликами пользователь службы Persona может осуществить вход на сайт, вроде Voost, минуя проблемы создания учётной записи.
  4. -
  5. Persona проста в установке. Разработчики могут добавить поддержку Persona к сайту за вечер.
  6. -
  7. Самое же лучшее в этом то, что нет жёсткой привязки. Разработчики получают проверенный адрес почты для каждого из пользователей, а пользователи могут использовать любой адрес почты с Persona. 
  8. -
- -

И еще, Persona только в начале своего пути, чтобы стать еще лучше: она построена на открытом, децентрализованом протоколе BrowserIDИ когда разработчики популярных браузеров реализуют BrowserID, не надо будет полагаться на Mozilla для входа.

- -

Читайте дальше, чтобы приступить к изучению!

- -
Замечание: Persona находится в активной разработке. Посетите наш блог, чтобы узнать о новых возожностях, или же подпишитесь на нашу рассылку для организации обратной связи! 
- -

Использование Persona на вашем сайте

- - - - - - - - - - - - -
-

Приступая к работе

- -
-
Почему Persona?
-
Узнайте о причинах поддержать Persona на Вашем сайте, и сравниваете её с другими системами аутентификации.
-
Быстрая установка
-
Быстрый обзор, показывающий как добавить Persona на Ваш сайт.
-
-
-

Справка по Persona API

- -
-
Справка по navigator.id API
-
Ссылка для объекта navigator.id, который веб-разработчики могут использовать, для интеграции Persona с сайтами.
-
Ссылка API Проверка
-
Ссылка для дистанционного контроля API размещенную на https://verifier.login.persona.org/verify .
-
-
-

Гиды

- -
-
Соображения безопасности
-
Практика и методы, чтобы убедиться, развертывание Персона является безопасным.
-
Браузерная совместимость
-
Узанйте какие именно браузеры поддерживает Persona 
-
Интернационализация
-
Узнайте Persona работает с различными языками
-
-
-

Reswrısı

- -
-
Библиотеки и плагины
-
Найдите встраимывые библиотеки для ваших любимы языков и web-фрейморков, блогов или CMS
-
Персона поваренной
-
Примеры исходных кодов для сайтов Persona. Включая сниппеты в PHP, node.JS и других...
-
Брендинг ресурсы
-
Вход в кнопках и других графикой, чтобы помочь настоящий Persona для пользователей.
-
-
- -

 

- - - - - - - - -
-

Информация для поставщиков, удостоверяющих личность

- -

Если вы провайдер электронной почты или другой службы, удостоверяющий личность, обеспечивая, проверить ссылку ниже, чтобы узнать о становлении Поставщик Персона идентичности.

- -
-
IdP Обзор
-
Посмотреть высокий уровень Провайдеры Персона идентичности.
-
Реализация IdP
-
Подробное руководство по техническим деталям становится поставщика удостоверения.
-
Советы по развитию
-
Набор советов и трюков полезных при разработке нового поставщика удостоверений.
-
.well известный / BrowserID
-
Обзор структуры и цели .well известный / BrowserID файл, который удостоверений использовать для рекламы своей поддержке протокола.
-
-
-

Персона проекта

- -
-
Глоссарий
-
BrowserID и Персона - терминология и определения.
-
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
-
Ответы на часто задаваемые вопросы.
-
Обзор протокола
-
Технический обзор основ протокола BrowserID.
-
Крипто-
-
Взгляд на криптографические концепций Persona и BrowserID.
-
Spec
-
Глубокие технические детали можно найти здесь.
-
Персона Сайт
-
Чтобы Персона собирается, мы хостинг три услуги на https://login.persona.org : запасной провайдер идентификации, портативный осуществления navigator.id API, и удостоверение утверждение проверка сервис.
-
Исходный код Persona
-
Код  Persona находится в репозитории на GitHub. Патчи приветствуются!
-
-
- - diff --git a/files/ru/archive/mozilla/persona/protocol_overview/index.html b/files/ru/archive/mozilla/persona/protocol_overview/index.html deleted file mode 100644 index 0712e60be5..0000000000 --- a/files/ru/archive/mozilla/persona/protocol_overview/index.html +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Protocol Overview -slug: Archive/Mozilla/Persona/Protocol_Overview -translation_of: Archive/Mozilla/Persona/Protocol_Overview ---- -

Persona is built on the BrowserID protocol. This page describes the BrowserID protocol at a high level.

-

Actors

-

The protocol involves three actors:

- -

Persona and the BrowserID protocol use email addresses as identities, so it's natural for email providers to become IdPs.

-

Mozilla operates a fallback IdP so that users can use any email address with Persona, even one with a specific domain that isn't an IdP itself.

-

Protocol Steps

-

There are three distinct steps in the protocol:

-
    -
  1. User Certificate Provisioning
  2. -
  3. Assertion Generation
  4. -
  5. Assertion Verification
  6. -
-

As a prerequisite, the user should have an active identity (email address) that they wish to use when logging in to websites. The protocol does not require that IdP-backed identities are SMTP-routable, but it does require that identities follow the user@domain format.

-

User Certificate Provisioning

-

In order to sign into an RP, a user must be able to prove ownership of their preferred email address. The foundation of this proof is a cryptographically signed certificate from an IdP certifying the connection between a browser's user and a given identity within the IdP's domain.

-

Because Persona uses standard public key cryptography techniques, the user certificate is signed by the IdP's private key and contains:

- -

The user's browser generates a different keypair for each of the user's email addresses, and these keypairs are not shared across browsers. Thus, a user must obtain a fresh certificate whenever one expires, or whenever using a new browser or computer. Certificates must expire within 24 hours of being issued.

-

When a user selects an identity to use when signing into an RP, the browser checks to see if it has a fresh user certificate for that address. If it does, this step is complete and the browser continues with the assertion generation step below. If the browser does not have a fresh certificate, it attempts to obtain one from the domain associated with the chosen identity.

-
    -
  1. The browser fetches the /.well-known/browserid support document over SSL from the identity's domain.
  2. -
  3. Using information from the support document, the browser passes the user's email address and associated public key to the IdP and requests a signed certificate.
  4. -
  5. If necessary, the user is asked to sign into the IdP before provisioning proceeds.
  6. -
  7. The IdP creates, signs, and gives a user certificate to the user's browser.
  8. -
-

With the certificate in hand, the browser can continue with generating an identity assertion and signing into an RP.

-

user-certificate-provisioning.png

-

Assertion Generation

-

The user certificate establishes a verifiable link between an email address and a public key. However, this is alone not enough to log into a website: the user still has to show their connection to the certificate by proving ownership of the private key.

-

In order to prove ownership of a private key, the user's browser creates and signs a new document called an "identity assertion." It contains:

- -

The browser then presents both the user certificate and the identity assertion to the RP for verification.

-

Assertion Verification

-

The combination of user certificate and identity assertion is sufficient to confirm a user's identity.

-

First, the RP checks the domain and expiration time in the assertion. If the assertion is expired or intended for a different domain, it's rejected. This prevents malicious re-use of assertions.

-

Second, the RP validates the signature on the assertion with the public key inside the user certificate. If the key and signature match, the RP is assured that the current user really does possess the key associated with the certificate.

-

Last, the RP fetches the IdP's public key from its /.well-known/browserid document and verifies that it matches the signature on the user certificate. If it does, then the RP can be certain that the certificate really was issued by the domain in question.

-

Once verifying that this is a current login attempt for the proper RP, that the user certificate matches the current user, and that the user certificate is legitimate, the RP is done and can authenticate the user as the identity contained in the certificate.

-

assertion-generation-and-verify.png

-

The Persona Fallback IdP

-

What if a user's email provider doesn't support Persona? In that case, the provisioning step would fail. By convention, the user's browser handles this by asking a trusted third party, https://login.persona.org/, to certify the user's identity on behalf of the unsupported domain. After demonstrating ownership of the address, the user would then receive a certificate issued by the fallback IdP, login.persona.org, rather than the identity's domain.

-

RPs follow a similar process when validating the assertion: the RP would ultimately request the fallback IdP's public key in order to verify the certificate.

diff --git a/files/ru/archive/mozilla/persona/quick_setup/index.html b/files/ru/archive/mozilla/persona/quick_setup/index.html deleted file mode 100644 index 9b359e200c..0000000000 --- a/files/ru/archive/mozilla/persona/quick_setup/index.html +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: Быстрая установка -slug: Archive/Mozilla/Persona/Quick_Setup -tags: - - Persona - - Использование - - Настройка - - Пример - - Установка -translation_of: Archive/Mozilla/Persona/Quick_Setup ---- -

Добавление системы авторизации Persona на ваш сайт займет всего 5 шагов:

-
    -
  1. Подключите ЯваСкрипт-библиотеку на ваши страницы.
  2. -
  3. Добавьте кнопки «Вход» и «Выход».
  4. -
  5. Отслеживайте события входа и выхода.
  6. -
  7. Проверьте учетные данные пользователя.
  8. -
  9. Ознакомьтесь с лучшими примерами.
  10. -
-

Установка и настройка займёт у вас всего один вечер, но если вы собираетесь использовать Persona на вашем сайте, пожалуйста, прежде всего уделите минутку и подпишитесь на рассылку Заметки о Persona. Там крайне мало сообщений, она используется только для анонсов изменений или проблем с безопасностью, которые могут неблагоприятно сказаться на работе вашего сайта.

-

Шаг 1: Подключение библиотеки

-

Persona разработана так, чтобы быть независимой от обозревателя и хорошо работает во всех основных настольных и мобильных обозревателях. Это возможно благодаря межплатформенной библиотеке Persona, написанной на ЯваСкрипте. После того, как библиотека загружена на вашей странице, вам потребуются следующие функции Persona: ({{ domxref("navigator.id.watch()", "watch()") }}, {{ domxref("navigator.id.request()", "request()") }}, и {{ domxref("navigator.id.logout()", "logout()") }}), которые будут доступны в глобальном объекте navigator.id.

-

Чтобы подключить ЯваСкрип-библиотеку Persona, поместите следующий код в головной ярлык head:

-
<script src="https://login.persona.org/include.js"></script>
-
-

Вы должны подключить эту библиотеку, так как она создает функции {{ domxref("navigator.id") }}. Потому, что Persona еще находится в разработке, вы не должны самостоятельно изменять файл include.js.

-

Шаг 2: Добавление кнопок входа и выхода

-

Потому, что Persona создана как DOM API, Вы должны вызывать функции, когда пользователь нажимает на кнопки входа и выхода на Вашем сайте. Чтобы открыть окно входа через Persona, вызовите функцию {{ domxref("navigator.id.request()") }}. Для выхода вызовите {{ domxref("navigator.id.logout()") }}.

-

Например:

-
var signinLink = document.getElementById('signin');
-if (signinLink) {
-  signinLink.onclick = function() { navigator.id.request(); };
-};
-
-var signoutLink = document.getElementById('signout');
-if (signoutLink) {
-  signoutLink.onclick = function() { navigator.id.logout(); };
-};
-
-

Как выглядят эти кнопки? Посмотрите эту страницу, там найдете CSS и изображения!

-

Шаг 3: Отслеживание событий входа и выхода

-

Для работы Persona вы должны сообщить ей, что делать, когда пользователь осуществляет вход и выход. Для этого нужно вызвать функцию {{ domxref("navigator.id.watch()") }}, предоставив ей три параметра:

-
    -
  1. -

    loggedInEmail – почта текущего пользователя на сайте или null, если его нет. Это значение должно формироваться динамически во время создания страницы.

    -
  2. -
  3. -

    Функцию, которую следует вызвать при входе пользователя – действие onlogin. Это функция должна принимать один параметр – "заявленный идентификатор", который должен быть проверен.

    -
  4. -
  5. -

    Функцию, которую следует вызвать при выходе пользователя – действие onlogout. Эта функция работает без каких-либо параметров.

    -
  6. -
-
-

Замечание: Необходимо всегда указывать обе функции (для входа и выхода) – onlogin и onlogout при вызове {{ domxref("navigator.id.watch()") }}.

-
-

Например, если вы думаете что Иван выполнил вход на ваш сайт, вы должны сделать следующее:

-
var currentUser = 'ivan@example.com';
-
-navigator.id.watch({
-  loggedInEmail: currentUser,
-  onlogin: function(assertion) {
-    // Пользователь выполнил вход! В этом случае нужно:
-    // 1. Отправить заявленный идентификатор в бекэнд вашего сайта (серверная часть, прим. переводчика) для проверки и создания сессии.
-    // 2. Обновить интерфейс пользователя.
-    $.ajax({
-      type: 'POST',
-      url: '/auth/login', // это URL путь на вашем сайте.
-      data: {assertion: assertion},
-      success: function(res, status, xhr) { window.location.reload(); },
-      error: function(res, status, xhr) { alert("login failure" + res); }
-    });
-  },
-  onlogout: function() {
-    // Пользователь выполнил выход! В этом случае нужно:
-    // Удалить сессию пользователя с помощью перенаправления или отправки запроса на бекэнд.
-    $.ajax({
-      type: 'POST',
-      url: '/auth/logout', // это URL путь на вашем сайте.
-      success: function(res, status, xhr) { window.location.reload(); },
-      error: function(res, status, xhr) { alert("logout failure" + res); }
-    });
-  }
-});
-
-

В этом примере обе функции onlogin и onlogout отправляют асинхронные POST запросы к бекэнду вашего сайта. Бекэнд в свою очередь осуществляет процедуру входа и выхода пользователя, записывая или удаляя информацию в куки сессии. Далее, если пройдены все проверки, страница перезагружается, отображая новое состояние авторизации.

-

Вы, конечно, можете использовать AJAX, чтобы реализовать всё без перезагрузки страницы или перенаправлений, однако это не входит в рамки данного учебника.

-

Эту функцию обязательно вызывать на каждой странице, где есть кнопки входа или выхода. Чтобы ваши пользователи могли использовать такие возможности как автоматический вход или глобальный выход из системы, требуется вызывать эту функцию на каждой странице вашего сайта.

-

Шаг 4: Проверка пользовательских данных

-

Вместо паролей Persona использует "заявленные идентификаторы", которые представляют из себя что-то вроде одноразовых паролей только для одного сайта, связанных с адресом электронной почты пользователя. Когда пользователь собирается осуществить вход, будет вызвана ваша функция onlogin с "заявкой" от пользователя. Прежде чем закончить процедуру входа вы должны проверить эту заявку.

-

Крайне важно осуществлять такую проверку на стороне сервера, но не с помощью ЯваСкрипт-кода, работающего в обозревателе пользователя, иначе её легко можно подделать. В следующем примере заявка передаётся на сервер методом POST на адрес /api/login с помощью вспомогательной функции jQuery $.ajax().

-

Как следует делать проверку на сервере при получении заявки? Самый простой способ – использовать службу, предоставляемую Mozilla. Просто отправьте POST запрос с заявкой на адрес https://verifier.login.persona.org/verify указав два параметра:

-
    -
  1. assertion: заявка-идентификатор, полученный от пользователя.
  2. -
  3. audience: Адрес хоста и порт вашего сайта. Это информация должна быть записана в вашем бекэнде, ни в коем случае не получайте эти данные из того, что было отправлено пользователем.
  4. -
-

Предположим, example.com – это адрес вашего сайта, вы сможете проверить заявку, используя командную строку:

-
$ curl -d "assertion=<ASSERTION>&audience=https://example.com:443" "https://verifier.login.persona.org/verify"
-
-

Если она настоящая, в ответ вы получите примерно такой ответ в формате JSON:

-
{
-  "status": "okay",
-  "email": "bob@eyedee.me",
-  "audience": "https://example.com:443",
-  "expires": 1308859352261,
-  "issuer": "eyedee.me"
-}
-
-

Вы можете более подробно ознакомиться со службой проверки, прочитав статью API Проверочной Службы. Примерная реализация /api/login, с использованием Питона, веб-фреймворка Flask, и HTTP-библиотеки Requests, может выглядеть так:

-
@app.route('/api/login', methods=['POST'])
-def login():
-    # Запрос должен содержать заявку, которую нам нужно проверить
-    if 'assertion' not in request.form:
-        abort(400)
-
-    # Отправляем заявку в службу проверки Mozilla.
-    data = {'assertion': request.form['assertion'], 'audience': 'https://example.com:443'}
-    resp = requests.post('https://verifier.login.persona.org/verify', data=data)
-
-    # Получен ли от службы ответ?
-    if resp.ok:
-        # Разбираем ответ
-        verification_data = json.loads(resp.content)
-
-        # Проверяем, верна ли заявка?
-        if verification_data['status'] == 'okay':
-            # Осуществляем вход пользователя, устанавливая защищённую куки сессии
-            session.update({'email': verification_data['email']})
-            return resp.content
-
-    # Что-то пошло не так! Отмена.
-    abort(500)
-
-

Управление сессиями, вероятно, очень похоже на систему авторизации, которую вы уже используете. Первое основное отличие при проверке идентификатора пользователя в том, что вместо проверки пароля происходит проверка заявки. Второе большое отличие – проверка того, что адрес электронной почты пользователя корректный, путём передачи его в качестве параметра loggedInEmail функции {{ domxref("navigator.id.watch()") }}.

-

Выход из системы прост: всё, что нужно – удалить куки сессии пользователя.

-

Шаг 5: Обзор лучших примеров

-

После того, как всё заработает и вы успешно сможете осуществлять вход и выход на своём сайте, вы можете уделить немного времени, чтобы ознакомиться с лучшими примерами безопасного и защищённого использования Persona.

-

Возможно, вы захотите написать интеграционные тесты, которые симулируют вход и выход пользователя используя BrowserID, если вы делает сайт, готовый к запуску. Чтобы облегчить этот процесс c Selenium, обратите внимание на библиотеку bidpom. Так же может оказаться полезным сайт personatestuser.org.

-

Ну и напоследок, не забудьте подписаться на рассылку Заметки о Persona, так вы всегда будете в курсе любых проблем безопасности, а также об обратно несовместимых изменениях в API Persona. Рассылка не будет обременять вас – она используется исключительно для объявлений изменений, которые могут неблагоприятно сказаться на вашем сайте.

-

 

diff --git a/files/ru/archive/mozilla/persona/why_persona/index.html b/files/ru/archive/mozilla/persona/why_persona/index.html deleted file mode 100644 index 0dcbeef6db..0000000000 --- a/files/ru/archive/mozilla/persona/why_persona/index.html +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Почему Persona? -slug: Archive/Mozilla/Persona/Why_Persona -tags: - - Persona - - Введение - - Рекомендуемое -translation_of: Archive/Mozilla/Persona/Why_Persona ---- -
- Persona – это свободно распространяемая, кросс-браузерная система идентификации, которая предлагает решение для традиционной модели хранения паролей. Она нацелена на устранение недостатков, досаждающих при использовании других систем хранения конфиденциальных данных, как, например, OpenID, без необходимости использования централизованной инфраструктуры, подобной Facebook Connect.
-
-  
-
- Текущий подход к созданию и управлению пользовательских имён и паролей скучный, малоэффективный и небезопасный. Пользователи вынуждены придумывать и запоминать трудные пароли для каждого сайта или сервиса. На сайте же должны быть организованы безопасное шифрование и хранение паролей, чтобы предотвратить утечку важной информации. Предотвращение таких утечек – основная причина использования Persona, а гибкость её механизмов превосходит многие стандартные системы безопасной идентификации.
-
-  
-
-
- Примечание: более подробную информацию о Persona и её возможностях вы можете получить по ссылке Что такое Persona и как она работает?.
-
-

Persona устраняет необходимость создавать пароли для каждого сайта

-

Persona использует безопасную систему, построенную на основе передового шифрования общедоступных ключей, для авторизации на вебсайтах за пару щелчков мыши. Обозреватель пользователя создаёт зашифрованное подтверждение личности, которое теряет актуальность через несколько минут и действительно только для конкретного сайта. Пользователи могут не беспокоиться о том, что нужно запоминать несколько разных паролей, а также заботиться о безопасном доступе к свои паролям, если пароли не используются вообще. Быстрый и простой способ авторизации устраняет недостатки традиционной регистрации и позволяет пользователям легко заводить учётные записи на вебсайтах.

-

Persona использует адрес электронной почты в качестве идентификатора

-
-
-
-
- Механизмы Persona полагаются на адрес электронной почты, и это их ключевая составляющая, потому как адресу электронной почты по своей природе присущи уникальность и приватность. Существующая в данный момент инфраструктура работает очень хорошо не только с точки зрения проектирования (разработки), но и с точки зрения идеальной системы открытого управления и передачи идентификаторов по Интернет.
-
-
-
-

 

-

Выгода для пользователей

- -
-

Преимущества для разработчиков

-
- -
-

Чем отличается Persona от других подобных систем или одиночной учётной записи?

-
-

Persona защищает частную собственность, предоставляя пользователю выбор и возможность управления, чего не могут предоставить другие поставщики, это делает Persona очень привлекательной. Большинство социальных сетей, таких как Google+ или Facebook, требуют от пользователя указывать настоящее имя, принимать их политику, и ограничивают пользователя только одной учётной записью. Persona позволяет пользователям разграничить их рабочие, школьные или социальные идентификаторы, используя адреса разных электронных ящиков вместо настоящего имени. Благодаря такой анонимности, вы получаете дополнительный пласт безопасности идентификаторов и сетевой защиты, который отсутствует в большинстве социальных сетей.

-

Persona также открывает новый подход к защите пользовательских данных, делая браузер пользователя ключевым элементом в процессе авторизации. Обозреватель получает данные о пользователе, предоставляемые его электронной почтой, а затем передаёт их вебсайту. Поставщик электронной почты не может отслеживать пользователя, в тоже время сайты могут быть уверенны в идентификаторе пользователя, благодаря зашифрованному подтверждению данных. Многие другие системы, даже такие распределённые системы как OpenID, требуют чтобы сайт сначала был подключен к централизованной сети, прежде чем пользователь сможет осуществить вход.

-

Возможности Persona позволяют разработчикам наладить тесную связь с пользователями. Mozilla занимает лидирующее место в области открытых, свободных сетевых технологий, и Persona, обладая простым в использовании интерфейсом и возможностями защиты пользователя, поддерживает философию Mozilla.

diff --git "a/files/ru/archive/mozilla/persona/\320\270\320\275\321\202\320\265\321\200\320\275\320\260\321\206\320\270\320\276\320\275\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" "b/files/ru/archive/mozilla/persona/\320\270\320\275\321\202\320\265\321\200\320\275\320\260\321\206\320\270\320\276\320\275\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" deleted file mode 100644 index b395445eaa..0000000000 --- "a/files/ru/archive/mozilla/persona/\320\270\320\275\321\202\320\265\321\200\320\275\320\260\321\206\320\270\320\276\320\275\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Интернационализация -slug: Archive/Mozilla/Persona/Интернационализация -tags: - - Интернационализация - - Локализация - - Перевод -translation_of: Archive/Mozilla/Persona/Internationalization ---- -

What's localized in Persona

-

In the future, the user interface for signing into sites with Persona will be directly integrated into the browser, and thus localized along with the browser's own localization. For browsers without integrated support, Persona's user interface consists of a series of dialogs served from login.persona.org. These dialogs are translated by a team of community volunteers, and more than 45 locales are currently enabled in production.

-

How Persona chooses localizations

-

The Persona service selects a language using the Accept-Language header sent alongside the browser's requests. The algorithm used to map an Accept-Language header to a language is the same as that used by mozilla.org:

-
    -
  1. For each language tag in the Accept-Language header: -
      -
    • check if we have an exact match for the language identified by the language tag
    • -
    • check if we have an exact match for the language identified by the first part of the language tag
    • -
    -
  2. -
  3. If a match can't be made using rule (1), fall back to en-US. However, en or en-US is almost always the last accept-lang header sent by most browsers.
  4. -
-

For example, the table below lists the language selected for various Accept-Language headers, if the following locales were supported: en-US, es, es-MX:

- - - - - - - - - - - - - - - - - - - - - - - - - -
Accept-Language HeaderSelected language
es-AR,es;q=0.8,en-us;q=0.5es
es-MX,es;q=0.8,en-us;q=0.5es-MX
es-es,en-us;q=0.5en-US
es-esen-US
-

There is currently no way for a website to force the dialogs to appear in another language. This is because the Persona UI is logically (and in future native implementations will actually be) part of the browser UI, so its language should be consistent with the language selected for the browser.

-

How you can help

-

Persona uses Mozilla Verbatim to help volunteers create new translations. If you want to help out, read about getting started with Verbatim and check out the "BrowserID" project on Verbatim.

-

 

diff --git "a/files/ru/archive/mozilla/persona/\320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260_\320\261\321\200\320\260\321\203\320\267\320\265\321\200\320\276\320\262/index.html" "b/files/ru/archive/mozilla/persona/\320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260_\320\261\321\200\320\260\321\203\320\267\320\265\321\200\320\276\320\262/index.html" deleted file mode 100644 index d2d36dcc23..0000000000 --- "a/files/ru/archive/mozilla/persona/\320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260_\320\261\321\200\320\260\321\203\320\267\320\265\321\200\320\276\320\262/index.html" +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Поддержка браузеров -slug: Archive/Mozilla/Persona/Поддержка_браузеров -translation_of: Archive/Mozilla/Persona/Browser_compatibility ---- -

Поддерживаемые браузеры

-

Persona разработана, протестирована и поддерживается нежеуказанными браузерами. Благодаря межплатформенной JavaScript библиотеке, пользователям не нужны никаки дополнения для работы с Persona.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Компьютер
Internet Explorer8.0*, 9.0, 10.0** (взгляните на Compatibility Mode)
FirefoxТекущий стабильный, Бета, Аврора и ночной релизы, а также Релиз с расширенной поддержкой
- Предыдущий стабильный релиз
ChromeТекущий стабильный релиз
SafariТекущий стабильный релиз
OperaТекущий стабильный релиз
iOS Браузеры
Mobile SafariiOS 5.x — 6.x
Android Браузеры
Стандартный2.2 — 4.x
FirefoxТекущий, Бета, Аврора и ночной релизы,
- Предыдущий стабильный релиз
ChromeТекущий стабильный релиз
-

*: Для Windows XP. : Для Windows Vista и Windows 7. **Windows 8.  : Как показывает время.

-

Неподдерживаемые браузеры

- -

Internet Explorer "Режим совместимости"

-

С версии 8.0 Internet Explorer включает в себя так называемый Режим Совместимости, когда идет эмуляция pre-8.0 версии при рендеринге страницы. Это видно по

-
    -
  1. локальной настройке в браузере
  2. -
  3. наличию и значению DOCTYPE элемента на странице
  4. -
  5. HTTP заголовку "X-UA-Compatible" от вашего сервера и/или <meta> тэгу на странице. Этот метод имеет наивысший приоритет.
  6. -
-

Because versions of Internet Explorer earlier than 8.0 are not supported by Persona, any version of Internet Explorer which is configured to emulate a pre-8.0 version will also not function with Persona. This is typically for one of the following reasons:

- -

For more information, see "Understanding Compatibility Modes in Internet Explorer 8" and "IE8 and IE9 Complications".

-

Другие браузеры

-

Despite not being explicitly supported, any browser that includes both {{ domxref("window.postMessage()") }} and {{ domxref("Storage", "localStorage") }} should work. These APIs have been available in all major browsers since March 2010.

-

Известные проблемы

- diff --git a/files/ru/archive/mozilla/xulrunner/index.html b/files/ru/archive/mozilla/xulrunner/index.html deleted file mode 100644 index 159f5361a4..0000000000 --- a/files/ru/archive/mozilla/xulrunner/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: XULRunner -slug: Archive/Mozilla/XULRunner -translation_of: Archive/Mozilla/XULRunner ---- -
- Приступая к работе с XULRunner
- Короткое введение в XULRunner.
-
- XULRunner это пакет среды исполнения Mozilla который может быть использован для загрузки XUL+XPCOM приложений которых множество для Firefox и Thunderbird. Это дает возможность использовать механизм для установки, обновления, и удаления этих приложений. XULRunner также предоставляет libxul, это решение которое позволяет встраивать технологии Mozilla в другие проекты и продукты.
- - - - - - - -
-

Выпуски

-
-

XULRunner 1.9.1 has been released and can be downloaded from releases.mozilla.org. Please read the release notes for installation, uninstallation, and other information.

-

Firefox 3 and later ships with a private XULRunner package, which can run any compatible XULRunner application using the -app switch.

-

Older builds are also available.

-
-

Обзор

- -

Документация

-
-
- View All...
-
-
-
- Getting Started with XULRunner
-
- Short tutorial on building desktop applications with XULRunner.
-
-
-
- XULRunner Guide
-
- A fairly complete introduction and tutorial for XULRunner which collates much of the documentation found here.
-
-
-
- A XULRunner Tutorial
-
- A short introduction to XULRunner.
-
-
-
- XULRunner tips
-
- A collection of tips for working with XULRunner.
-
-
-
- Deploying XULRunner
-
- An introduction on how to package your application with XULRunner.
-
-
-
- XULRunner Hall of Fame
-
- Tracks all available applications based on XULRunner.
-
-
-
- Build Documentation
-
- Learn how to get the source and build it.
-
-
-
- Debug Documentation
-
- Steps to configure Venkman to debug your App
-
-
-

Сообщество

-
    -
  • View Mozilla forums...
  • -
-

{{ DiscussionList("dev-platform", "mozilla.dev.platform") }}

- - -
-
- XUL
-
-
-

Categories

-

Interwiki Language Links

-

 

-

{{ languages( { "ca": "ca/XULRunner", "es": "es/XULRunner", "fr": "fr/XULRunner", "it": "it/XULRunner", "zh-cn": "cn/XULRunner", "ja": "ja/XULRunner", "pl": "pl/XULRunner", "ko": "ko/XULRunner" } ) }}

-- cgit v1.2.3-54-g00ecf