Смешанный контент и небезопасный значок - PullRequest
0 голосов
/ 28 апреля 2019

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

"Смешанный контент: страница в 'https://plump -otter.glitch.me / 'был загружен через HTTPS, но запросил небезопасный значок' http://glitch.com/favicon-app.ico'. Этот запрос был заблокирован; содержимое должно быть передано по HTTPS. "

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

'use strict';

const express     = require('express');
const bodyParser  = require('body-parser');
const fccTesting  = require('./freeCodeCamp/fcctesting.js');
const session = require('express-session');
const passport = require('passport');
const ObjectID = require('mongodb').ObjectID;
const mongo = require('mongodb').MongoClient();
const LocalStrategy = require('passport-local');


const app = express();

fccTesting(app); //For FCC testing purposes
app.use('/public', express.static(process.cwd() + '/public'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.set('view engine', 'pug')
app.use(session({

  secret: process.env.SESSION_SECRET,
  resave: true,
  saveUnintialized: true,

}));

app.use(passport.initialize());
app.use(passport.session());

mongo.connect(process.env.MONGO_URI, (err, db) => {
  if(err) {
    console.log('Database error: '+err);


  } else {

  console.log('Successful database connection');

  passport.serializeUser((user, done) => {
  done(null, user._id);

});




 passport.deserializeUser( (id, done) => {

  db.collection('users').findOne(

      {_id: new ObjectID(id)},
      (err, doc) => {

        done(null, doc);


      }
  );

});
    passport.use(new LocalStrategy(
      function(username, password, done) {
      db.collection('users').findOne({ username: username}, function(err, user) {
        console.log("User "+username +" attempted to log in.");
        if(err){return done(err);}
        if(!user){ return done(null, false);}
        if(password !== user.password) {return done(null, false); }
        return done(user, null);
  });
  }
));


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


    res.render(process.cwd() + '/views/pug/index', {title: 'Hello',message: 'Please login', showLogin: true});
  });
    app.route('/login')
    .post(passport.authenticate('local', {failureRedirect: '/'}),
     function(req, res) {


    res.redirect('/profile');

    });

    app.route('/profile')
    .get((req, res) => {
      res.render(process.cwd() + '/profile');

    });

    app.listen(process.env.PORT || 3000, () => {
  console.log("Listening on port " + process.env.PORT);

});

}});


Мой индексный файл

html
  head
    title FCC Advanced Node and Express
    meta(name='description', content='A cool thing made with HyperDev')
    link#favicon(rel='icon', href='https://hyperdev.com/favicon-app.ico', type='image/x-icon')
    meta(charset='utf-8')
    meta(http-equiv='X-UA-Compatible', content='IE=edge')
    meta(name='viewport', content='width=device-width, initial-scale=1')
    link(rel='stylesheet', href='/public/style.css')
  body
    h1.border.center FCC Advanced Node and Express
    h2.center#pug-success-message
    | Looks like this page is being rendered from Pug into HTML!
    | {Home Page}
    p#pug-variable= message



    if showLogin
      hr
      p Login Form
      form(action='/login', method='post')
        div
          label Username:
          input(type='text', name='username')
        div
          label Password:
          input(type='password', name='password')
        div
          input(type='submit', value='Log In')

    if showRegistration
      hr
      p Registration Form
      form(action='/register', method='post')
        div
          label Username:
          input(type='text', name='username')
        div
          label Password:
          input(type='password', name='password')
        div
          input(type='submit', value='Register')


    script(src='https://code.jquery.com/jquery-2.2.1.min.js', integrity='sha256-gvQgAFzTH6trSrAWoH1iPo9Xc96QxSZ3feW6kem+O00=', crossorigin='anonymous')
    script(src='/public/client.js')

1 Ответ

0 голосов
/ 28 апреля 2019

Когда я посетил URL вашего значка, изображение не может быть найдено.Но лучший способ использовать favicon с помощью express - это использовать express-favicon , который будет использовать favicon для всех ваших страниц без определения его на каждой странице.Для установки

npm install express-favicon

А вот как это использовать в коде.

var favicon = require('express-favicon');

app.use(favicon('...location of favicon here...'));

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...