Перейти к содержимому

Фото
* * * * - 1 голосов

Вопросы и Ответы

PHP Javascript HTML/CSS SQL Ruby Java C/C++ Visual Basic C#

  • Вы не можете создать новую тему
  • Please log in to reply
416 ответов в этой теме

#331 Fabregas

Fabregas
  • Постоялец
  • 1 601 сообщений

Отправлено 15 декабря 2016 - 00:20

глупый ламерский вопрос, но все же..

используя панель isp manager, установлен вордпресс, в каталоге он - 

~/www/сайт.com/wordpress/
 

после установки было написано что вход в админку: сайт.com/wordpress/wp-admin, но эта ссыль ни фига не работает. сколько не подбирал, до админки не добрался. wtf?


  • 0

#332 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 15 декабря 2016 - 01:09

устанавливал сам или через панель управления?

 

для wp есть плагины безопасности которые меняют урл админки.

 

но вообще всегда было так, site.com/wp-admin (если сайт установлен не в каталоге)


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#333 Fabregas

Fabregas
  • Постоялец
  • 1 601 сообщений

Отправлено 15 декабря 2016 - 11:01

Через панель установил, и там в конце окошко с ссылкой, как войти в админку, ну и вот она не того-этого..
Раньше на godaddy когда делал, все как то проще было, без мороки
Site.com/wp-admin тож не работает

Сообщение изменено: Fabregas (15 декабря 2016 - 11:01 )

  • 0

#334 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 15 декабря 2016 - 11:23

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

 

и попробуй слеш в конец поставить wp-admin/


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#335 Fabregas

Fabregas
  • Постоялец
  • 1 601 сообщений

Отправлено 15 декабря 2016 - 13:02

Спасибо, попрлбую
  • 0

#336 Fabregas

Fabregas
  • Постоялец
  • 1 601 сообщений

Отправлено 15 декабря 2016 - 20:31

Скилла, удивительно, но решилось с помощью слэша


  • 1

#337 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 11 апреля 2017 - 19:55

Есть у нас тут знатоки node.js по асинхронным делам blabla().this(function(){}); ?


  • 0

Типичный, классический кузнец.


#338 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 11 апреля 2017 - 19:57

Не знаток, но по работе регулярно проскакивают все эти промисы, резолвы и т.д. В чём вопрос?


  • 0

Вначале делаю, потом думаю :)


#339 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 11 апреля 2017 - 20:27

Я в терминологии не силен, поэтому за ошибки в названиях всех этих умных слов не пинайте )

Есть контроллер https://pastebin.com/GE5870FH который вызывает функцию / метод из https://pastebin.com/sdRCh1uC

В данном случае '/api/orders' ... проверяет есть ли пользователь.

В authorize.js если return db.users.findById(decodeToken.id)...

То получаю ошибку 

Unhandled rejection SequelizeConnectionError: read ECONNRESET
    at D:\NodeJSProjects\ParkingHouse\node_modules\sequelize\lib\dialects\postgres\connection-manager.js:110:20
    at Connection.<anonymous> (D:\NodeJSProjects\ParkingHouse\node_modules\pg\lib\client.js:186:5)
    at emitOne (events.js:96:13)
    at Connection.emit (events.js:188:7)
    at Socket.<anonymous> (D:\NodeJSProjects\ParkingHouse\node_modules\pg\lib\connection.js:86:10)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at emitErrorNT (net.js:1278:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

типа нет соединения с БД. Спустя какое то время, промис возвращает результат уже после ошибки.

Если просто делать запрос в базу без промисов все нормально, но без асинхронности.

Можно типа async/await заюзать, но исходя из http://node.green/ версию 7,* далеко не везде юзают. Babel тоже не хочу. В общем что не так с промисами, где я там накосячил?


Сообщение изменено: kuznets (11 апреля 2017 - 20:30 )

  • 0

Типичный, классический кузнец.


#340 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 11 апреля 2017 - 21:25

А что в db.js? Может у тебя там какая-то такая логика, что, например, соединение закрывается сразу после отправки запроса (что промисы могут запороть)?


  • 0

Вначале делаю, потом думаю :)


#341 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 11 апреля 2017 - 21:30

Там вроде ни чего интересного https://pastebin.com/AxfE8f7s


  • 0

Типичный, классический кузнец.


#342 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 11 апреля 2017 - 21:57

Неправильно используешь промисы. 

 

Промисы надо цепочками использовать или скопом (Promise.all), ты их лепишь также как каллбэки

 

примерно так https://pastebin.com/q5fvr9s9

 

и забей на эти foreach после sequelize, если не хочешь чтобы он в объекты данные заворачивал raw: true передаешь в findAll


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


заюзай нормальный middleware на сессию, а не этот онанизм с authorize при каждом запросе

 

https://github.com/expressjs/session


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#343 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 11 апреля 2017 - 22:23

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

 

 

 

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

Бык у меня всего соединений, найти юзверя, и потом найти его заказы. Или я чего то не догоняю?


Сообщение изменено: kuznets (11 апреля 2017 - 22:25 )

  • 0

Типичный, классический кузнец.


#344 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 11 апреля 2017 - 22:40

соединение к базе асинхронное. и оно просто не успевает соединиться

 

вот так делаешь в orderscontroller

 

var authorize = require(__dirname + '/authorize.js')({

  db: db

}).authorize;

 

и так делаешь в https://pastebin.com/5PvG1BH4

 

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


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

 

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


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#345 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 12 апреля 2017 - 05:04

Ну, что бы переписать нужно иметь опыт, а его ни кто не дает, вот учусь потихоньку.

Так я же и использую passport


  • 0

Типичный, классический кузнец.


#346 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 12 апреля 2017 - 05:38

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

 

 

Ну так
authorize(req).then(function (foundUser) {
ждет или ответа или ошибки от authorize и внутри then код не выполняется пока не выполнится обещание
 
return db.users.findById(decodeToken.id) .then(function (data)
Ждет что бы вернуть ошибки или результата
 
При таком подходе я честно не догоняю как может не успевать соединиться если ответ response внутри обещаний.
 
Пример:
remotedb.allDocs(...)
  .then(function (resultOfAllDocs) {
    return localdb.put(...);
  })
  .then(function (resultOfPut) { // наступит только когда выполнится return localdb.put(...);
    return localdb.get(...);
  })
  .then(function (resultOfGet) { // наступит только когда выполнится return localdb.get(...);
    return localdb.put(...);
  })
  .catch(function (err) {
    console.log(err);
  });

Сообщение изменено: kuznets (12 апреля 2017 - 05:40 )

  • 0

Типичный, классический кузнец.


#347 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 12 апреля 2017 - 19:22

http://stackoverflow...error-read-econ

 

в authorize.js ты всё таки сделай вместо return false;

 

return Promise.reject('Your error');

 

если возвращаешь промис, возвращай его, а не тут булевский тип, там промис


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#348 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 12 апреля 2017 - 19:39

У меня щас authorize выглядит так но ошибка все та же.

module.exports = function(vars) {

    const db = vars.db;
    const JwtOptions = require('../config/jwt_options');
    const jwt = require("jwt-simple");

    return {
        authorize: function (req) {
            let decodeToken = jwt.decode(req.cookies.token, JwtOptions.secretOrKey);
            return db.users.findById(decodeToken.id).then(function (data){
                    return data;
                }).catch(function (err) {
                    console.log('authorize error: ' + err);
                    return err;
                });
        }
    }
}

Сообщение изменено: kuznets (12 апреля 2017 - 19:42 )

  • 0

Типичный, классический кузнец.


#349 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 12 апреля 2017 - 20:37

используй next как в примере


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#350 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 12 апреля 2017 - 21:03

Вот контроллер с некстами https://pastebin.com/t73NphmM

Вот авторайз https://pastebin.com/UwkEDzgn

 

ошибка та же.


  • 0

Типичный, классический кузнец.


#351 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 12 апреля 2017 - 22:18

в authorize некстов не увидел.

значит что-то не так делаешь.

 

 

 

вообще по нормальному это вот так делается https://pastebin.com/2EEAxrFR


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#352 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 12 апреля 2017 - 22:49

вообще по нормальному это вот так делается https://pastebin.com/2EEAxrFR

Тогда в разных контроллерах функция isAllowed будет повторяться, что не есть гуд. По этому я ее вынес в authorize.


  • 0

Типичный, классический кузнец.


#353 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 12 апреля 2017 - 23:56

если ты следуешь паттерну MVC, то то что ты называешь контроллерами, есть роуты и вообще быть им в отдельном файле

isAllowed проверит разрешен ли пользователю доступ к данному роуту

 

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

 

routes.js и что то типо такого в нём, isAllowed отрежет тех кто не авторизован

 

app.get('/route', isAllowed, (req, res) => MyController

 .findData()

 .then(data => res.json(data))

 .catch(err => res.json({success: false, err: err.message}));


  • 0

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#354 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 25 апреля 2017 - 21:22

Ну в общем проблема не в промисах была и не в кривом коде.

https://community.f-...ause/td-p/88447

http://holdemmanager...9.html#F-Secure

Поставил касперского, все работает.


  • 0

Типичный, классический кузнец.


#355 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 25 апреля 2017 - 21:27

Проще под виндой не работать (если не для дотнета) и не ломать лишний раз голову. Ну это имхо.


  • 0

Вначале делаю, потом думаю :)


#356 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 25 апреля 2017 - 21:34

Я се минт ставил, он на моем железе под нагрузками зависал и спасало лишь принудительная перезагрузка.

А кроме этого я пользую много софта AutoCad, PremierPro и пр. а жесткий ссд всего 128гб, как бы не хватит на 2 системы. Виратуалка отстой.


  • 0

Типичный, классический кузнец.


#357 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 25 апреля 2017 - 21:45

А чем виртуалка плоха? У меня на ноуте тоже 128 гб ссд, основная ось - https://elementary.io(та же убунта, только посимпатичнее, с закосом под иос), винда второстепенная - на ней бегает всякий софт, который только для винды. Вроде нормально всё работает уже несколько лет стабильно.
Я не знаю, как там у винды дела с повершеллом и их попыткой запилить линукс в винду (лол), но без терминала лично я как без рук. На винде для веб-девелопмента неудобно вообще всё впринципе. Довольно унылая платформа. Ну это, имхо, конечно же.


  • 0

Вначале делаю, потом думаю :)


#358 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 25 апреля 2017 - 23:14

 

 

А чем виртуалка плоха?

Под ней как то туповато работают AutoCad, PremierPro и пр. мои 8гб памяти и так обычно на 80% отъедены, а там это вообще пичаль.


  • 0

Типичный, классический кузнец.


#359 skill-AB

skill-AB

    Huge Cojones

  • Постоялец
  • 9 702 сообщений

Отправлено 25 апреля 2017 - 23:39

Ну в общем проблема не в промисах была и не в кривом коде.

https://community.f-...ause/td-p/88447

http://holdemmanager...9.html#F-Secure

Поставил касперского, все работает.

 

это 3.14zdec))) используй мак, бед не знай


  • 1

летела жизнь в плохом автомобиле и вылетала с выхлопом в трубу


#360 djeux

djeux
  • Постоялец
  • 7 517 сообщений
  • Откуда:Tallinn, Kristiine

Отправлено 26 апреля 2017 - 07:01

Буд-то под мак срани нет :)

Имхо весь этот софт нафиг не нужен если головой пользоваться.


  • 0

Мужчина без женщины - всё равно, что дерево без гусеницы. © не Gra4-а, ему знакомый сказал






Читать еще на тему: PHP, Javascript, HTML/CSS, SQL, Ruby, Java, C/C++, Visual Basic, C#