LINUX.ORG.RU

Сообщения prozaik

 

chrome кушает

Форум — General

ребята, посмотрите сколько ресурсов есть chrome browser. это ведь не нормально? у кого-нибудь подобное бывало?

http://i.yapx.ru/BGSMF.png

что можно придумать кроме как закрыть браузер? я до этого в течение часа работал с nodejs, это может повлиять? при этом я закрывал и открывал браузер несколько раз после того как началось зависание всего. даже убивал все chrome-процессы(что примечательно, их несколько. и их число больше чем открытых вкладок chrome) при помощи kill -9. но это не помогает

ОС linux mint18

в общем я в растерянности и жду ответа телепата

 

prozaik
()

токены. просветление

Форум — Web-development

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

вот ход моей мысли:

1. чувак хочет зайти в свой личный кабинет интернет-банка
2. он в своём браузере набирает адрес и видит форму авторизации
3. заполняет форму авторизации, после чего пароль отправляется запросом на сервер и там кодируется и записывается в БД
4. сервер генерирует уникальный токен и посылает в ответ клиенту
5. клиент помещает токен в куку, локалсторадж или другое удобное хранилище(возможно, тоже кодирует)
6. при этом сам токен никакого влияния на авторизацию не оказывает
7. далее чувак, например переводит часть денег со своего счёта на телефон
8. а потом переводит часть денег со своего счета на оплату интернета
9. роль токена, прикрепляемого к каждому запросу, состоит только в том чтобы убедить сервер, что запросы в пунктах 7 и 8 выполняет один и тот же человек(браузер)
10. сама же авторизация выполняется только на основе пароля и логина. без участия токена 
если я в каких-нибудь пунктах не прав, скажите мне об этом. а так же посоветуйте на какую тему стоит почитать что-нибудь чтобы точно понимать что происходит

 ,

prozaik
()

почему нет preflight-запроса?

Форум — Web-development

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

как я понимаю, происходит кроссдоменный запрос - я со своего сервера(localhost) делаю ajax-запрос на сервер api.github.com. ответ приходит в формате json, о чём говорит заголовок запроса:

Content-Type:application/json; charset=utf-8

это значит, что мой запрос сложный, то есть клиент должен послать предварительный запрос(preflight request), в ответ на который сервер пришлёт список разрешённых методов и т.п. служебную информацию. и только после этого последует запрос на получение непосредственно информации(списка пользователей)

проблема в том, что я не вижу этого preflight-запроса в хроме на вкладке network: http://storage2.static.itmages.com/i/18/0304/h_1520190937_3851333_e4d959fdae.png

запрос отправляю по такому адресу:

get('https://api.github.com/users')

использую angular5

 , ,

prozaik
()

как вернуть возможность перетаскивать иконки по раб.столу?

Форум — Desktop

на первой машине установлен mint18. в нём я могу перетаскивать иконки по рабочему столу любым образом(например часть из них расположить в одном углу, а часть - в другом)

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

подскажите пожалуйста как отключить эту настройку и иметь возможность перетаскивать иконки любым образом?

я пробовал кликнуть правой кнопкой по раб.столу и мучить появившиеся настройки. тоже пробовал искать настройки рабочего стола через меню->параметры->раб.стол

 , ,

prozaik
()

Что получает fiddler?

Форум — General

Помогите пожалуйста разобраться в перехваченных через fiddler ответах.

Я открываю страничку википедии и ожидаю, что: 1. будет послан с моего компьютера на сервер запрос с определённым набором заголовков 2. с сервера на мой компьютер вернётся несколько запросов. Как минимум для css, html, js

но ничего этого я не вижу в окне запросов fiddler-а. а вижу такое: http://i.yapx.ru/8u4M.png

То есть проблема во-первых, что я не получил css, html, js. А во-вторых, если даже и получил, то не понимаю как эти запросы отличить(на ютубе в туториалах они помечались соответствующими иконками с изображениями значков css, html, js). Но тут ничего подобного.

fiddler запустил на mint18 через mono

 

prozaik
()

как в гите отменить не внесённые в индекс изменения?

Форум — General

простой случай: есть файлы. в один из них я вношу изменения. потом решаю вернуться к начальному состоянию. для решения этой задачи я использую

git checkout .
git status
всё ок, проблем нет

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

 

prozaik
()

angular cli сломался

Форум — Web-development

В моей ОС глбально установлен angular-cli 1.6 , а локально(после создания проекта при помощи команды ng new name) устанавливается версия 1.5. Чтобы исправить ситуацию, я, после создания проекта, находясь в каталоге проекта, выполняю команду:

npm install --save-dev @angular/cli@latest

Но последний раз я по неосторожности выполнил эту команду когда находился на уровень выше каталога проекта. В результате теперь я не могу создавать новые проекты. Попытка выглядит так:

kalinin@lenovo ~/angular2/PRACTICE $ ng new rurun3 --style=scss --routing
Error: Path "/README.md" does not exist.
Path "/README.md" does not exist.

kalinin@lenovo ~/angular2/PRACTICE $ ng new rurun3
Error: Path "/app/app.module.ts" does not exist.
Path "/app/app.module.ts" does not exist.

 , ,

prozaik
()

где хранить пароли?

Форум — Talks

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

сейчас я храню все пароли в текстовом файле, который находится на рабочем столе. таким образом когда нужно ввести пароль, я открываю файл, через поиск домена(ctrl + F) нахожу соответствующий пароль и через копипаст вставляю его. при этом для критически важных ресурсов всегда отказываюсь от предложений браузера сохранить пароль в кеше

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

что ещё можно предпринять для повышения безопасности. и вообще стоит ли так заморачиваться или это бесполезно?

сами пароли выглядят примерно так: nkdfgd745jnJKBTRYCTbNbefejw

вопрос удобства пользования не важен

 

prozaik
()

не запускается json-server

Форум — Web-development

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

у меня есть angular2 проект на локальной машине с linux mint. в проекте в качестве бекенда временно используется json-server: https://github.com/typicode/json-server

для старта проекта я в одной консоли запускаю angular dev server:

ng server

в другой консоли запускаю json-server:

json-server --watch db.json --port 3000

в результате проект стартует, проблем нет

проблемы возникают после того как я пытаюсь в конфиге ангуляра сделать команду, которая и запускает сервер ангуляра, и json-server:

package.json:
{
  "name": "js-people",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "all": "ng s && json-server --watch db.json --port 3000"
  },
...
....

в результате после

npm run all
запускается только сервер ангуляра, но Json-server не запускается.

но проблема не в этом. а в том, что после того как я возвращаю конфиг в начальное состояние и снова хочу стартовать проект из двух консолей, то json-server не хочет запускаться:

kalinin@lenovo ~/angular2/PRACTICE/js-people $ json-server --watch db.json --port 3000

  \{^_^}/ hi!

  Loading db.json
  Done

  Resources
  http://localhost:3000/posts
  http://localhost:3000/comments
  http://localhost:3000/profile

  Home
  http://localhost:3000

  Type s + enter at any time to create a snapshot of the database
  Watching...

fs.js:1376
    throw error;
    ^

Error: watch . ENOSPC
    at _errnoException (util.js:1024:11)
    at FSWatcher.start (fs.js:1374:19)
    at Object.fs.watch (fs.js:1400:11)
    at /home/kalinin/.nvm/v8.9.3/lib/node_modules/json-server/lib/cli/run.js:193:10
    at /home/kalinin/.nvm/v8.9.3/lib/node_modules/json-server/lib/cli/run.js:154:13
    at module.exports (/home/kalinin/.nvm/v8.9.3/lib/node_modules/json-server/lib/cli/utils/load.js:37:5)
    at start (/home/kalinin/.nvm/v8.9.3/lib/node_modules/json-server/lib/cli/run.js:122:5)
    at module.exports (/home/kalinin/.nvm/v8.9.3/lib/node_modules/json-server/lib/cli/run.js:159:3)
    at module.exports (/home/kalinin/.nvm/v8.9.3/lib/node_modules/json-server/lib/cli/index.js:81:3)
    at Object.<anonymous> (/home/kalinin/.nvm/v8.9.3/lib/node_modules/json-server/lib/cli/bin.js:3:14)

эта проблема исчезает после перезагрузки ОС. но это не нормально, mint это не крутая система, но всё же не виндоуз. и я верю, что можно обойтись без перезагрузки...

 ,

prozaik
()

CORS включен, но приходит 403 ошибка

Форум — Web-development

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

на localhost:4200 работает проект на angular5, на http://127.0.0.1:8000/ работает проект на django 1.8

из angular делаю post-запрос так:

const params = {
	'user_id': userId,
	'title': title
};

return this.http.post('http://127.0.0.1:8000/app_todo2/create_todo', params)

в ответ сервер, на котором работает django, выводит такое:

[30/Nov/2017 15:07:55]"OPTIONS /app_todo2/create_todo HTTP/1.1" 200 0
[30/Nov/2017 15:07:55]"POST /app_todo2/create_todo HTTP/1.1" 403 2629

при этом в django установлен и включен CORS модуль. вот вырезка из конфига:

...
ALLOWED_HOSTS = [
    '127.0.0.1:8000', 
    'http://localhost:4200/list', 
    'http://localhost:4200', 
    'localhost:4200', 
    'localhost'
]

CORS_ORIGIN_ALLOW_ALL = True

CORS_ORIGIN_WHITELIST = (
    'http://localhost:4200/list',
    'http://localhost:4200',
    'localhost:4200',
    'localhost',
    '127.0.0.1:8000'
)

CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT'
)

CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)


# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app_todo2',
    'corsheaders',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',    
)
...

после отправки запроса через отладчик браузера видно, что предварительный OPTIONS-запрос отработал и вернул код 200. то есть кроссдоменный запрос разрешён: https://i.yapx.ru/gdaV.png

но далее основной запрос возвращает код ошибки 403: https://i.yapx.ru/gdYR.png

при этом на сервере эта страничка существует точно. потому что когда я пытался её получить с отключенным модулем CORS, то она не возвращалась, но в консоли сервера был вывод операторов print, которые я прописал в представлении(view) джанги.

однако

 , ,

prozaik
()

греется ноут

Форум — General

дурной вопрос немного, но что-то я беспокоюсь очень, посоветуйте как жить дальше.

у меня ноут с ОЗУ 8гб, процессором Intel Core i7. на нём mint18. после входа в систему открываю только консоль и смотрю температуру:

senkalinin@lenovo ~ $ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +57.0°C  (crit = +104.0°C)

nouveau-pci-0100
Adapter: PCI adapter
temp1:            N/A  (high = +95.0°C, hyst =  +3.0°C)
                       (crit = +105.0°C, hyst =  +5.0°C)
                       (emerg = +135.0°C, hyst =  +5.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +57.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:         +57.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:         +57.0°C  (high = +87.0°C, crit = +105.0°C)

это ок, ниже никогда не бывало. это стабильное значение. то есть не в первый момент после входа в систему, но и позже тоже(если другие программы не открываю)

но после открытия браузера chrome(с 1-3 вкладками) температура повышается на 20 градусов. это нормально? раньше такого не было.

в чём может быть причина(это только телепатам вопрос)?

 ,

prozaik
()

Как использовать HttpClientModue?

Форум — Web-development

Помогите пожалуйста разобраться. Я использую angular5. В нём вместо HttpModule используется более современный HttpClientModue

Я тоже попытался использовать HttpClientModue, но получил в консоли такую ошибку:

ERROR in src/app/app.module.ts(4,10): error TS2305: Module '"/home/kalinin/angular2/PRACTICE/tables/node_modules/@angular/common/http"' has no exported member 'HttpClientModue'.

WARNING in ./src/app/app.module.ts
27:16-31 "export 'HttpClientModue' was not found in '@angular/common/http'
Пробовал гуглить проблему, но везде пишут, что нужно обновить anguar о версии >=4.3 . Но у меня используется версия 5:
kalinin@lenovo ~/angular2/PRACTICE/tables $ ng -v

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.5.0
Node: 7.2.0
OS: linux x64
Angular: 5.0.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cdk: 5.0.0-rc0-33edff5
@angular/cli: 1.5.0
@angular/material: 5.0.0-rc0-33edff5
@angular-devkit/build-optimizer: 0.0.32
@angular-devkit/core: 0.0.20
@angular-devkit/schematics: 0.0.35
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.0
@schematics/angular: 0.1.2
typescript: 2.4.2
webpack: 3.8.1
При этом в package.json тоже везде прописана версия 5:
  "dependencies": {
    "@angular/animations": "^5.0.1",
    "@angular/cdk": "github:angular/cdk-builds",
    "@angular/common": "^5.0.0",
    "@angular/compiler": "^5.0.0",
    "@angular/core": "^5.0.0",
    "@angular/forms": "^5.0.0",
    "@angular/http": "^5.0.0",
    "@angular/material": "github:angular/material2-builds",
    "@angular/platform-browser": "^5.0.0",
    "@angular/platform-browser-dynamic": "^5.0.0",
    "@angular/router": "^5.0.0",
    "core-js": "^2.4.1",
    "rxjs": "^5.5.2",
    "zone.js": "^0.8.14"
  },

Подключаю так:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { HttpClientModue } from "@angular/common/http";
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import { 	MatTableModule } from '@angular/material';

import { 	AppComponent } from './app.component';
import { UsertableComponent } from './usertable/usertable.component';
import { UserService } from './services/user.service';


@NgModule({
  declarations: [
    AppComponent,
    UsertableComponent
  ],
  imports: [
  	MatTableModule,
  	BrowserAnimationsModule,
    BrowserModule,
    HttpClientModue
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Пробовал удалить каталог node_modules и делать npm i

Как заставить ангуляр использовать HttpClientModue?

 

prozaik
()

обновить angular cli до 1.5 версии

Форум — Web-development

помогите пожалуйста обновить angular cli до актуальной версии.

в своих проектах я использовал версию 1.2. сейчас появилась необходимость обновиться о версии 1.5. для существующих проектов я сделал то, что рекомендуют в оф.документации:

npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli@latest

и ещё так:

npm uninstall @angular/cli
npm cache clean
npm install @angular/cli@latest

перед созданием нового проекта я вывожу версию так:

kalinin@lenovo ~/angular2/PRACTICE $ ng -v

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/
    
Angular CLI: 1.5.0
Node: 7.2.0
OS: linux x64

далее создаю проект и пытаюсь его запустить. в результате получаю сообщение о том, что у меня устаревшая версия angular cli:

kalinin@lenovo ~/angular2/PRACTICE/jquery $ ng s
Your global Angular CLI version (1.5.0) is greater than your local
version (1.2.6). The local Angular CLI version is used.

To disable this warning use "ng set --global warnings.versionMismatch=false".

как так? что делать?.. и главное, почему?

пробовал и такое:

npm upgrade -g @angular/cli

не помогло

 ,

prozaik
()

page not found у заглавной страницы. при этом сайт работает

Форум — Web-development

помогите пожалуйста исправить главную страницу

на локалхосте я создал angular2-проект. далее залил его на хостинг. при этом как нужно изменил пути к ресурсам в index.html и в сервисах получения json-данных

проблема в том что при первой загрузке сайте срабатывает fallback роутера и показывается страница page not found. но меню навигации выводится на экране. и если при помощи него походить по сайту, то видно, что сайт полностью рабочий

при этом на локалхосте описанной проблемы нет

адрес сайта: http://fh79272k.bget.ru/files/works/agenda_speakers github: https://github.com/zlodiak/ng4_agenda_speakers я здесь разместил ссылку на репозиторий, в котором не продакшн-версия. то есть index.html и сервисы не изменены для размещения на сервере

а изменённый index.html вот:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Speakers</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
  <app-root></app-root>
<script type="text/javascript" src="files/works/agenda_speakers/inline.bundle.js"></script>
<script type="text/javascript" src="files/works/agenda_speakers/polyfills.bundle.js"></script>
<script type="text/javascript" src="files/works/agenda_speakers/styles.bundle.js"></script>
<script type="text/javascript" src="files/works/agenda_speakers/vendor.bundle.js"></script>
<script type="text/javascript" src="files/works/agenda_speakers/main.bundle.js"></script></body>
</html>

 

prozaik
()

количество наблюдателей

Форум — Web-development

помогите пожалуйста понять суть проблемы, которую я решил гуглением

на mint18 я поставил ноду. затем на поднял простенький проект на angular2. проблема была в том, что после внесения изменений в код проекта, браузер не отображал изменения. приходилось каждый раз перезапускать локальный сервер(через команду ng serve)

здесь: https://github.com/angular/angular-cli/issues/2389 один чел посоветовал использовать такую команду:

echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

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

поясните пожалуйста кратко в чём было дело и где почитать подробнее про это «явление»

 ,

prozaik
()

суть механизма проверки csrf-токена со стороны сервера

Форум — Web-development

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

1. допустим, сайт сделан на основе какого-нибудь популярного mvc-фреймворка. в таких фреймворках обычно есть режим shell. то есть в командной строке можно запустить этот режим и из командной же строки выполнять действия типа создания пользователей, запросов к БД и т.д.

2. по сути этот shell представляет из себя некоторую среду окружения, подобную той, что возникает когда обычный пользователь на своём домашнем компьютере устанавливает убунту, загружает её и авторизуется в ней.

3. если сайт сделан и выложен в сеть, то например 10 пользователей с разных компьютеров могут зайти на сайт через браузер, вбив с адресную строку http://www.site_address.ru . после этого на стороне сервера откроется 10 командных строк в режиме shell(то есть создастся 10 сред окружения). и далее всё взаимодействие с сайтом для конкретного пользователя будет происходить через его персональный shell(то есть фреймворк все действия преобразует в команды для shell и выполняет их)

4. в фреймворке обычно уже есть механизм для генерации и проверки csrf-токенов. работает он следующим образом:

5. персональный shell после получения запроса от браузера пользователя на отрисовку странички с формой отправляет кроме всего прочего csrf-токен(в html это будет поле типа hidden)

6. при этом персональный shell пользователя где-то у себя запоминает отосланный csrf-токен. для определённости, скажем, помещает его в СВОЮ глобальную область

7. пользователь заполняет форму и отправляет её. а персональный shell пользователя берёт запомненное значение токена и проверяет с тем, токеном, который получен в результате отправки формы пользователем

8. если эти значения совпадают, то shell считает, что данные полученные из формы можно обрабатывать(например осуществить перевод денег)

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

 

prozaik
()

Организация аутентификации для случая двух серверов

Форум — Web-development

Пожалуйста разобраться в вопросе. Нужен ответ в самом общем виде, без привязки к каким-нибудь конкретным языкам и технологиям. Заранее извиняюсь за многобукв

Допустим, есть 2 сервера. На одном поднят бекенд, на другом фронтенд. При этом кроссдоменные запросы принимаются без проблем и вообще приложение работает

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

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

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

2. id этой записи используются при выборке из всех остальных таблиц БД

3. При попытке регистрации пользователь видит форму, в которую вводит пароль. После отправки формы на стороне бекенда этот пароль шифруется тем же алгоритмом шифрования(что и в пункте 1) и происходит поиск совпадающей строки в таблице users

4. Если такая строка найдена, то хранилице браузера(куки/локалсторадж/сессионсторадж) происходит запись не зашифрованного пароля и id записи.

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

6. И на стороне бекенда в каждом контроллере стоит условие, которое шифрует принятый пароль и ищет совпадение в таблице users. Если совпадение найдено, то контроллер отдаёт данные

 ,

prozaik
()

Как распарсить экранированный json?

Форум — Web-development

Помогите пожалуйста распарсить json.

у меня есть сервис, который по адресу: https://raw.githubusercontent.com/zlodiak/rurun_front_ng2/master/src/app/test... отдаёт json

я одном из js-приложений, я его получаю и работаю с ним(вывожу, используя пагинацию). Проблема в том, что это тестовый json, а реальный json выглядит сложнее, приблизительно так:

"[{\"model\": \"statistic.article\", \"pk\": 1, \"fields\": {\"author\": 1, \"title\": \"\\u0414\\u043b\\u044f \\u0435\\u0436\\u0435\\u0439 \\u0445\\u0430\\u0440\\u0430\\u043a\\u0442\\u0435\\u0440\\u043d\\u043e \\u043f\\u043b\\u043e\\u0442\\u043d\\u043e\\u0435 \\u0442\\u0435\\u043b\\u043e\\u0441\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435\", \"text\": \"\\u0414\\u043b\\u044f \\u0435\\u0436\\u0435\\u0439 \\u0445\\u0430\\u0440\\u0430\\u043a\\u0442\\u0435\\u0440\\u043d\\u043e \\u043f\\u043b\\u043e\\u0442\\u043d\\u043e\\u0435

мое js-приложение без проблем работает с первым json, но не работает со вторым json. При этом в консоль выводится следующее сообщение об ошибке:

core.es5.js:1020ERROR Response {_body: ProgressEvent, status: 0, ok: false, statusText: "", headers: Headers…}

Подскажите пожалуйста способ, которым можно обработать проблемный json

ps: Бекенд у меня на django. Возможно с его стороны нужно обрабатывать

 

prozaik
()

Кроссдоменный запрос для django

Форум — Web-development

Помогите пожалуйста разрешить кроссдоменныйй запрос на локальной машине.

У меня на локальной машине поднят апач. на хосте

http://localhost/rurun/

есть яваскриптовый фронтэнд.

Так же локально запущен django 1.11. Запущен командой:

python manage.py runserver
Это значит, что используется встроенный сервер.

На django установлен следующий пакет: https://github.com/ottoyiu/django-cors-headers

Так же в конфиге прописано следующее:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'statistic',
    'corsheaders',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
]

CORS_ORIGIN_ALLOW_ALL = True

После клика на кнопке, из фронэнда отправляется ajax-запрос к django. Но браузер в консоль выводит сообщение об ошибке:

XMLHttpRequest cannot load http://127.0.0.1:8000/days. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 400.

Вот более подробная информация из вкладки network:

Request URL:http://127.0.0.1:8000/days
Request Method:GET
Status Code:400 Bad Request
Remote Address:127.0.0.1:8000
Response Headers
view source
Content-Type:text/html
Date:Thu, 29 Jun 2017 17:52:08 GMT
Server:WSGIServer/0.2 CPython/3.5.2
Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Host:127.0.0.1:8000
Origin:http://localhost
Referer:http://localhost/rurun/
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
X-Compress:null

Ещё пробовал в конфиге прописывать разрешённые хосты в белом листе:

CORS_ORIGIN_WHITELIST = (
    'localhost/rurun'
)

Разные комбинации протоколов и портов тоже прбовал

 ,

prozaik
()

клонировать все ветки репозитория с github

Форум — General

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

на github есть репозиторий. в нём есть ветки master и develop. команда

git clone PATH
клонирует только ветку master

команда

git clone PATH -b develop
клонирует только ветку develop

но мне нужно скопировать весь репозиторий. то есть все ветки.

(хорошо бы вместе с историей коммитов, но можно и без)

 ,

prozaik
()

RSS подписка на новые темы