【问题标题】:Firefox: unsecured ajax calls on secure pageFirefox:安全页面上的不安全 ajax 调用
【发布时间】:2019-06-26 21:53:57
【问题描述】:

我正在开发一个旅游网站。在网站中有一个页面,我在其中对另一个页面进行 Ajax 调用。该应用程序是在 vuejs 框架中创建的。当我打电话时,Firefox 说我在不安全的连接上进行 AJAX 调用。然后它继续重定向整个页面,而不是进行 AJAX 调用。我的 POST 数据都没有保留在重定向中。整个过程在使用 SSL 进行端到端安全保护的网站上进行。

即使 JS 包含在 HTTPS URL 中,也不用担心跨源脚本。 Firefox 还确认页面中没有任何元素是不安全的。这个问题只困扰网站的巴士预订模块,而不是其他模块,例如使用完全相同的脚本的航班预订或酒店预订。我想知道是什么引发了这个问题。

错误信息:

用于访问此资源的连接不安全。

截图:

部署细节:

  • 后端: Codeigniter 2.1.6 (PHP)
  • 网络服务器: Apache 2
  • 服务器: Amazon EC2

Apache 的站点配置文件:

<VirtualHost *:80>

ServerName mysite.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/mysite/


ErrorLog ${APACHE_LOG_DIR}/stg_error.log
CustomLog ${APACHE_LOG_DIR}/stg_access.log combined

<Directory “/var/www/html/mysite”>
  AllowOverride All
</Directory>
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =mysite.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI}[END,NE,R=permanent]
</VirtualHost>

<VirtualHost _default_:443>
    ServerName mysite.com
    ServerAdmin webmaster@localhost


    DocumentRoot /var/www/html/mysite/


    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
    </Directory>
    <Directory “/var/www/html/mysite">
      AllowOverride All
    </Directory>



    BrowserMatch    "MSIE [2-6]"nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

    BrowserMatch "MSIE [17-9]"ssl-unclean-shutdown

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/mysite.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/mysite.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/mysite.com/chain.pem
</VirtualHost>

.htaccess

            RewriteEngine On
            RewriteBase /
            RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
            RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

【问题讨论】:

  • 请添加您从 Firefox 获得的确切错误消息。
  • 添加错误信息
  • @saman.shahmohamadi 现在包含屏幕截图。任何线索为什么会发生这种情况?

标签: javascript php ajax codeigniter lamp


【解决方案1】:

事实证明,我的问题出在我的 JavaScript 上。虽然我的应用程序最初是在 Vuejs 中创建的,但它位于包含其他脚本的页面上。其他一些脚本存在问题,这反过来又破坏了 Vuejs 的功能。在我的情况下,jQuery 错误阻止了我的脚本的正确执行。一旦我解决了最初的 jQuery 错误,重定向停止并且 ajax 正常工作。

总之,最好检查一下其他脚本是否正在暂停您的执行,即使您的代码可能位于另一个框架中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-26
    • 2017-02-11
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多