PageSourceSearch

https://www.norma.uz/ru/auth/login?ref=https%3A%2F%2Fwww.norma.uz%2F

html norma.uz collected 2026-10-02 04:54:50 UTC 20,624 bytes, 520 lines download raw bytes

1
2
3
4<!DOCTYPE html>
5<html lang="ru">
6<head>
7    <meta charset="utf-8">
8    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
9    <title>Вход на сайт www.norma.uz</title>
10    
11    
12    
13    
14    
15    
16    <link rel="stylesheet" href="/files/bootstrap/css/bootstrap.min.css">
17<link rel="stylesheet" href="/files/bootstrap/css/bootstrap-extra.css">
18<link rel="stylesheet" href="/files/js/sweetalert2/sweetalert2.min.css">
19<link rel="stylesheet" href="/files/sso/style.css?v=1">
20<link rel="stylesheet" href="/files/css/animate.min.css">
21<link rel="stylesheet" href="/files/social/social.css">
22
23    
23<script src="/files/jquery/jquery.js"></script>
vendor: 1 bytes, line 23
23
24<script src="/files/bootstrap/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 24
24
25<script src="/files/bootstrap/js/bootstrap-extra.js"></script>
vendor: 1 bytes, line 25
25
26<script src="/files/js/sweetalert2/sweetalert2.min.js"></script>
vendor: 1 bytes, line 26
26
27<script src="/files/js/es7-object-polyfill.browser.js"></script>
vendor: 1 bytes, line 27
27
28<script src="/files/js/vue/2.6.14/vue.min.js"></script>
vendor: 1 bytes, line 28
28
29<script src="/files/js/jquery.cookie.js"></script>
29
30
31</head>
32    
33<body>
34
35
36<div id="wrapper" style="display: none;">        
37    <header>
38        <h1>
39            <span class="login_title_text1">Вход на сайт</span>
40            <span class="login_title_domain">www.norma.uz</span>
41            <span class="login_title_text2"></span>
42        </h1>
43        <button class="close-btn" onclick="window.close();">
44            &times;
45        </button>
46    </header>
47    <main>
48
49
50
51<div id="app">
52<div class="loading" v-if="loading">
53    <div class="lds-spinner"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
54</div>
55<transition
56name="animate_slide"
57enter-active-class="animate__animated animate__fadeIn"
58leave-active-class="animate__animated animate__backOutLeft"
59@after-enter="afterTransition"
60>
61<div v-if="mode === 0" class="login-form-container">
62<p>Войдите или зарегистрируйтесь, используя ваш адрес электронной почты</p>
63<div class="login-form form-horizontal">
64    <div class="form-group">
65        <label for="txtLoginEmail">E-mail:</label>
66        <input ref="email" class="form-control" type="email" id="txtLoginEmail" name="email" 
67            @keyup.enter="checkEmail" v-model="email">
68    </div>
69</div>
70<div class="login-btn-container">
71    <button class="btn btn-primary" @click="checkEmail">Далее
72        <i class="glyphicon glyphicon-triangle-right"></i>
73    </button>
74</div>
75</div>
76</transition>
77
78<transition
79name="animate_slide"
80enter-active-class="animate__animated animate__bounceInRight"
81leave-active-class="animate__animated animate__backOutRight"
82@after-enter="afterTransition"
83>
84<div v-if="mode === 1" class="enter-password-form-container">
85    <p>Введите пароль от вашей учетной записи на сайте norma.uz</p>
86    
87    <div class="enter-password-form">
88        <div class="user-icon">
89            <img src="/files/sso/user.png" width="40" height="40">
90            {{ email }}
91        </div>
92        <small class="forgot-password">
93            <a href="#" @click="forgotPassword">Забыли пароль?</a>
94        </small>
95        <div class="form-group">
96            <label ref="passwd" for="txtPassword" class="label-nowrap">Пароль:</label>
97            <small>
98                <div class="has-clear">
99                    <input class="form-control" :type="showpwd ? 'text' : 'password'" id="txtPassword" name="password"
100                        @keyup.enter="login">
101                    <span class="form-control-clear glyphicon" :class="'glyphicon-eye-' + (showpwd ? 'close': 'open')" @click="showpwd = !showpwd" 
102                    :title="showpwd ? 'Скрыть пароль': 'Показать пароль'"></span>
103                </div>
104                <div class="checkbox">
105                    <label>
106                        <input type="checkbox" value="1" id="chkRemember" name="remember" checked>
107                        Запомнить меня
108                    </label>
109                </div>
110                
111            </small>
112        </div>
113
114        <div class="login-btn-container">
115            <button class="btn btn-primary" @click="login">Далее</button>
116        </div>
117        
118    </div>
119    <div class="reset-email">
120        <a href="#" @click="resetEmail">
121            <i class="glyphicon glyphicon-triangle-left"></i>
122            Использовать другую учетную запись
123        </a>
124    </div>
125</div>
126</transition>
127<transition
128name="animate_slide"
129enter-active-class="animate__animated animate__bounceInRight"
130leave-active-class="animate__animated animate__backOutRight"
131
132>
133<div v-if="mode === 2" class="not-registered-container">
134    <p>Вы еще не зарегистрированы на сайте norma.uz</p>
135    <div class="guest-icon">
136        <img src="/files/sso/guest.png" width="40" height="40">
137        {{ email }}
138    </div>
139    <div class="gotoreg-btn-container">
140        <form action="/ru/auth/reg" method="POST">
141            <input type="hidden" name="ref" v-model="ref">
142            <input type="hidden" name="email" v-model="email">
143            <button class="btn btn-primary" onclick="app.loading=true;">
143Перейти к регистрации</button>
144        </form>
145        
146    </div>
147    <div class="reset-email">
148        
149        <a href="#" @click="resetEmail">
150            <i class="glyphicon glyphicon-triangle-left"></i>
151            Использовать другой e-mail
152        </a>
153    </div>
154</div>
155</transition>
156
157</div>
158            
159<div class="login-other">
160    <h2>или войдите через:</h2>
161
162    
163    
164    <form action="/ru/scripts/sso?w=ext" method="post" id="formAuthWidget">
165        <input type="hidden" name="ref" value="https://www.norma.uz/">
166        <input type="hidden" name="service" value="">
167        
168        <a href="#" class="social-32 g" title="Google"
169            onclick="app.loading=true;$('#formAuthWidget input[name=service]').val('g');$('#formAuthWidget').submit();return false;">
170            
171            Google
172            
173        </a>
174        
175        <a href="#" class="social-32 fb" title="Facebook"
176            onclick="app.loading=true;$('#formAuthWidget input[name=service]').val('fb');$('#formAuthWidget').submit();return false;">
177            
178            Facebook
179            
180        </a>
181        
182        <a href="#" class="social-32 ya" title="Яндекс"
183            onclick="app.loading=true;$('#formAuthWidget input[name=service]').val('ya');$('#formAuthWidget').submit();return false;">
184            
185            Яндекс
186            
187        </a>
188        
189        <a href="#" class="social-32 mr" title="Mail.ru"
190            onclick="app.loading=true;$('#formAuthWidget input[name=service]').val('mr');$('#formAuthWidget').submit();return false;">
191            
192            Mail.ru
193            
194        </a>
195        
196        <a href="#" class="social-32 tg" title="Telegram"
197            onclick="app.loading=true;$('#formAuthWidget input[name=service]').val('tg');$('#formAuthWidget').submit();return false;">
198            
199            
200                
200<script async src="https://telegram.org/js/telegram-widget.js?5" data-telegram-login="norma_uz_bot" data-size="medium" data-onauth="onTelegramAuth(user)" data-request-access="write"></script>
200
201                
201<script type="text/javascript">
202                    function onTelegramAuth(user) {
203                        $.ajax({
204                            url: "/ru/scripts/sso?w=ext&service=tg&ref=https%3A%2F%2Fwww.norma.uz%2F&ajax=1",
205                            data: user,
206                            cache: false,
207                            type: "POST",
208                            complete: function(xhr, status) {
209                            
210                            },
211                            success: function(data, status, xhr) {
212                                if (data.error) {
213                                    app.showError(data.error);
214                                } else if (data.authUrl) {
215                                    app.authorize(data.authUrl);
216                                } else if (data.returnUrl) {
217                                    location.href = data.returnUrl;
218                                }
219                            },
220                            error: function(xhr, status, err) {
221                            
222                            }
223                        });
224                    }
225                </script>
225
226            
227        </a>
228        
229    </form>
230    <style>
231        /*.social-32.tg:hover {
232        background: transparent !important;
233        overflow: visible;
234        text-indent: 0;
235        }*/
236    
237        .social-32.tg {
238        background: #54A9EB;
239        text-indent: -4px;
240        padding-top: 2px;
241        border-radius: 16px;
242        /*transition: all 0.2s;*/
243        }
244    </style>
245    
246    
247    
248</div>
249
250<div class="autologin-chk checkbox">
251    <label>
252        <input type="checkbox" value="1" id="chkAutologin" name="autologin" checked
253        onclick="$.cookie('normauz_sso_autologin_chk', $(this).prop('checked') ? '1' : '0', {path: '/', expires: 1});">
254        Узнавать меня на всех сайтах Norma
255    </label>    
256</div>
257                
258    </main>
259<footer>
260    Выполняя регистрацию или вход на сайт вы соглашаетесь с <a href="https://www.norma.uz/legal/privacy_policy" target="_blank" onclick="var w=820;var h=600;var left = (screen.width / 2) - (w / 2);    var top = (screen.height / 2) - (h / 2);window.open($(this).attr('href'), 'ifrs_academy_pp', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);return false;">Политикой конфиденциальности</a>
261</footer>
262
263</div>
264
265<script>
266    $('#wrapper').fadeIn(1000);
267</script>
267
268<noscript>
269    <div style="background: #e7c3c3; border: 1px solid red; color: red; padding:20px; margin:20px;max-width:700px;">
270    <p style="margin-bottom: 20px">Ваш браузер не поддерживает JavaScript или JavaScript отключен.<br>
271        Чтобы продолжить, включите в своем браузере JavaScript!</p>
272
273    <p style="margin-bottom: 20px">Сизнинг браузерингиз javascriptни қўллаб қувватламаяпти ёки бу имконият ўчирилган.<br>
274        Давом этиш учун браузерингизда JavaScript руxсат этилган бўлиши керак!</p>
275
276    <p>Sizning brauzeringiz javascriptni qo'llab quvvatlamayapti yoki bu imkoniyat o'chirilgan.<br>
277        Davom etish uchun brauzeringizda JavaScript ruxsat etilgan bo'lishi kerak!</p>
278    </div>
279</noscript>
280    
280<script>
281function sso_finishLogin(authUrl, remember, returnUrl) {
282    Swal.fire({
283        icon: 'success',
284        title: 'Вход выполнен',
285        text: 'Пожалуйста, подождите, страница перезагрузится в течение нескольких секунд...',
286        showConfirmButton: false
287    });
288    var url = authUrl + '&remember='+remember+'&returnUrl='+encodeURIComponent(returnUrl);
289    if (window.opener !== null) {
290        try {
291          window.opener.location.href = url; 
292          window.setTimeout(function() {
293                window.close();
294            }, 2500);
295        }
296        catch (e) {
297            window.opener.postMessage({
298                m: "sso_reload",
299                url: url
300            }, returnUrl);
301            window.setTimeout(function() {
302                window.close();
303            }, 2500);
304          /*$.ajax({
305              url: authUrl + '&remember='+remember+'&ssoAjax=1',
306              success: function(data, status, xhr) {
307                 if (data.success == 'ok') {
308                     
309                 } else {
310                    Swal.fire({
311                        icon: 'error',
312                        title: 'Не удалось выполнить вход',
313                    }).then(function() {
314                        window.close();
315                    });
316                 }
317              },
318              error: function() {
319
320              },
321          });*/
322        }
323           
324    } else {
325        location.href = url;
326    }
327}    
328</script>
328
329
330    
330<script>
331        var app = new Vue({
332            el: '#app',
333            data: {
334                domain: 'www.norma.uz',
335                ref: 'https://www.norma.uz/',
336                email: '',
337                loading: false,
338                showpwd: false,
339                forgotPasswordSended: false,
340                mode: 0
341                /*  */
342            },
343            methods: {
344                afterTransition: function(el) {
345                    if (this.mode == 0) {
346                        this.$refs.email.focus();                        
347                    } else if (this.mode == 1) {                       
348                        this.$refs.passwd.focus();                        
349                    }
350                },
351                request: function(w, d, cb) {
352                    var v = this;
353                    v.loading = true;
354                    d.w = w;
355                    d.email = this.email;
356                    d.ref = this.ref;
357                    $.ajax({
358                        url: '/scripts/sso',
359                        method: 'POST',
360                        data: d,
361                        complete: function(xhr, status) {
362                            v.loading = false;
363                        },
364                        success: function(data, status, xhr) {
365                            if (data.error) {
366                                v.showError(data.error);
367                            } else if (data.result) {
368                                cb(data);
369                            }
370                        }
371                    });
372                },
373
374                showError: function(err) {
375                    var errors = {
376                        'invalid_password': {
377                            title: 'Неправильный пароль',
378                            footer: '<a href="#" onclick="app.forgotPassword(); return false;">Забыли пароль?</a>'
379                        }
380                    };
381                    if (errors[err]) {
382                        var data = errors[err];
383                        
384                        
385                    } else {
386                        var data = {
387                            'title': 'Ошибка',
388                            'text': err
389                        };
390                    }
391                    if (!data.icon) {
392                        data.icon = 'error';
393                    }
394                    Swal.fire(data);
395                },
396                validateEmail: function() {
397                    if (this.email == '') {
398                        Swal.fire({
399                            title: 'Укажите ваш e-mail',
400                            icon: 'warning',
401                            confirmButtonText: 'OK',
402                        });
403                        return false;
404                    }
405                    return true;
406                },
407                validatePassword: function() {
408                    var $p = $('#txtPassword');
409                    if ($p.val() == '') {
410                        Swal.fire({
411                            title: 'Введите пароль',
412                            icon: 'warning',
413                            confirmButtonText: 'OK',
414                        });
415                        return false;
416                    }
417                    return true;
418                },
419                forgotPassword: function() {
420                    var v = this;
421                    if (this.forgotPasswordSended != this.email) {
422                        var t = 'На указанный адрес электронной почты %s будет отправлено письмо со ссылкой для смены пароля';
423                        t = t.replace('%s', this.email); 
424                        Swal.fire({
425                            title: 'Забыли пароль?',
426                            text: t,
427                            icon: 'question',
428                            confirmButtonText: 'Отправить письмо',
429                            footer: '<a href="#" onclick="Swal.close();return false;">Отмена</a>'                        
430                        }).then(
431                            function(res) {
432                                if (res.isConfirmed) {
433                                    v.forgotPasswordSendEmail();
434                                }
435                            }
436                        );
437                    } else {
438                        this.forgotPasswordSendedShowMsg();
439                    }
440                },
441                forgotPasswordSendedShowMsg: function() {
442                    var t = 'Письмо для смены пароля отправлено на адрес электронной почты %s. Если письма нет во входящих, проверьте папку Спам';
443                        t = t.replace('%s', this.email);
444                    Swal.fire({
445                        title: 'Письмо отправлено',
446                        text: t,
447                        icon: 'success'
448                    });
449                },
450                forgotPasswordSendEmail: function() {
451                    var v = this;
452                    $.ajax({
453                        url: '/scripts/forgetpass',
454                        type: 'POST',
455                        data: {
456                            action: 'recover-password',
457                            email: this.email
458                        },
459                        dataType: 'json',
460                        success: function(data) {
461                            if (data.status == true) {
462                                v.forgotPasswordSended = v.email;
463                                v.forgotPasswordSendedShowMsg();
464                            } else {
465                                v.showError(data.message);
466                            }
467                        }
468                    });
469                },
470                checkEmail: function() {
471                    var v = this;
472                    if (this.validateEmail()) {
473                        this.request('email', {}, function(data) {
474                            if (data.result == 'exists') {
475                                v.email = data.email;
476                                v.mode = 1;
477                                v.showpwd = false;                                
478                            } else if (data.result == 'notfound') {
479                                v.email = data.email;
480                                v.mode = 2;
481                            }
482                        });
483                    }
484                },
485                resetEmail: function() {
486                    //this.email = '';
487                    this.mode = 0;
488                },
489                login: function() {
490                    var v = this;
491                    if (this.validateEmail() && this.validatePassword()) {
492                        this.request('pwd', { 
493                            pwd: $('#txtPassword').val(), 
494                            remember: $('#chkRemember').prop('checked') ? '1' : '0' ,
495                            autologin: $('#chkAutologin').prop('checked') ? '1' : '0' 
496                        }, 
497                        function(data) {
498                            if (data.result == 'ok') {
499                                
500                                if (data.authUrl) {
501                                    v.authorize(data.authUrl);
502                                    
503                                }
504                            }
505                        });
506                    }
507                },
508                authorize: function(authUrl) {
509                    sso_finishLogin(authUrl, $('#chkRemember').prop('checked') ? 1 : 0, this.ref);
510                }
511            }
512        });
513    </script>
513
514    
515</body>
516</html>
517
518
519
520<!-- DB TOTAL QUERIES: 0 --><!-- DB TOTAL TIME: 0 --><!-- PAGE GENERATION TIME: 0.02303 -->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.