小编Phi*_*hil的帖子

调用invalidate后重新使用会话ID

我继承了一个非常古老的JSP应用程序(JDK 1.3.1_15),并试图插入会话固定漏洞.

我在使用身份验证后成功地使当前会话无效,HttpSession.invalidate()但是在创建新会话时,会重新使用旧会话ID.

<%
// login.jsp
if (authenticated) {
    request.getSession().invalidate();

    // create new session and store data
    HttpSession session = request.getSession();
    session.putValue(...);
    // etc

    response.sendRedirect("logged-in.jsp");
    return;
}
%>
Run Code Online (Sandbox Code Playgroud)

我可以在HTTP监视器中看到新的会话分配,它只是再次使用相同的号码.

-- Initial request response --
HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=6a303082951311647336934;path=/

-- login.jsp request response --
HTTP/1.1 302 Moved Temporarily
Location: http://example.com/logged-in.jsp
Set-Cookie: JSESSIONID=6a303082951311647336934;path=/
Run Code Online (Sandbox Code Playgroud)

在我使用session.invalidate()第二个Set-Cookie响应头之前根本不存在.

有没有人对如何生成新的会话ID有任何建议?我对JRUN4不是很熟悉,但是通过配置文档进行拖网并没有发现任何问题.

java jsp jrun httpsession

5
推荐指数
0
解决办法
1万
查看次数

为什么这不是一个有效的正则表达式?

这只是一天前工作但现在抛出异常.我已将正则表达式粘贴到在线验证程序中,它看起来不错?

我错过了什么?

<input type="text" class="form-control" name="nickname" id="nickname" value="Alicia"
       pattern="[\w\s\-\(\)\!\,\.]{3,45}">
Run Code Online (Sandbox Code Playgroud)

Pattern属性值[\w\s\-\(\)\!\,\.]{3,45}不是有效的正则表达式:Uncaught SyntaxError:无效的正则表达式/[\w\s\-\(\)\!\,\.]{3,45}/::无效的转义

谢谢您的帮助!

卡西

javascript regex html5

5
推荐指数
1
解决办法
3513
查看次数

模板和根节点与vue.js的奇怪

我想这可能是我偶然发现的一个错误,不确定.我收到一个组件的Vue.js警告:

vue.js:2611 [Vue warn]:不能<template>用作组件根元素,因为它可能包含多个节点:

问题似乎是这样的:

<template id="tpl-field">
    <template v-if="fieldType==='checkbox-inline'">
        <label class="checkbox-inline">[SNIP]</label>
    </template>
    <template v-else>
    [SNIP]
    </template>
</template>
Run Code Online (Sandbox Code Playgroud)

所以我有两个模板节点,这似乎是它窒息的多个节点(当然每个模板节点只包含一个节点).然而,这是Vue中的if-else - 如果其中一个节点存在,则另一个节点在逻辑上不可能.

这里的问题演示:https://jsfiddle.net/jonmor51/Ldz3k0jp/1/.如果我将所有内容都包装在div中,它就可以了.但没有,它失败了.(不幸的是,在我想要使用它的上下文中,即对于Bootstrap网格中的内联复选框,包装div会破坏事物).

vue.js

5
推荐指数
3
解决办法
2608
查看次数

Mixpanel错误:"mixpanel"对象未初始化.请帮我看看这个错误?

这是ERROR的图像

Mixpanel错误:"mixpanel"对象未初始化.确保您使用的是最新版本的Mixpanel JS库以及我们提供的代码段.

javascript mixpanel

5
推荐指数
0
解决办法
2206
查看次数

带有 VueJS 和 Laravel 的 Textarea v-model 初始值

我想使用刀片语法将用户名显示为 Markdown 编辑器的默认 textarea 值。

<textarea v-model="message">
      {{ $detailsFromLaravelContoller }}
</textarea>
<div v-html="compiledMarkdown"></div>
Run Code Online (Sandbox Code Playgroud)

但是我正在为 textarea 使用 v-model 组件,它需要像这样声明带有空值的消息

window.onload = function()
{ 
    var editor = new Vue({
    el: '#editor',
    data: {
        message: '',
        compiledMarkdown: marked('', { sanitize: true }), 
    },
    watch: {
        markdown: function () {
          this.compiledMarkdown = marked(this.message, { sanitize: true })
        }
      }, 
      methods: {

      }
  })  
}
Run Code Online (Sandbox Code Playgroud)

这将使用laravel 变量的 value呈现屏幕。但是在页面加载后不久内容就消失了(因为我已经使用了 window.onload 我猜)。
另外我没有使用内联 VueJS
PS:我是新来的都VueJS和Laravel和对降价的来源在这里(的jsfiddle) …

laravel vue.js v-model

5
推荐指数
1
解决办法
1万
查看次数

使用php从.USX文件中获取数据

我有一个.usx文件,我想从中获取数据.但现在找到任何方法来做到这一点.请帮帮我. usx文件链接

我试过下面的代码

$xml=simplexml_load_file("uploads/American-Standard-Version-Bible-master/usx/01-GEN.usx") or die("Error: Cannot create object");

foreach($xml->children() as $book)
{
    // echo "<pre>";
    // print_r($book);

     echo "Book Name:".$book->attributes()->code."<br/>";
    if($book->attributes()->number != "" )
    {
         echo "chapter : ".$book->attributes()->number."<br />";
    }
    foreach ($book->verse as $value) {
      // echo "<pre>";
      // print_r($value);
       echo "Verses Number : ".$value->attributes()->number."<br />";
    }

    echo "book : ".$book."<br />";
    echo "<hr/>";


}

}
Run Code Online (Sandbox Code Playgroud)

输出: 这是输出

我想要逐一输出所有经文而不是一次性输出

php xml

5
推荐指数
1
解决办法
58
查看次数

无法在Javascript之前加载HTML

我是Javascript的新手,知道如何在执行javascript之前加载html.

我确实检查了stackoverflow上的问题,并试图实现给出的解决方案但没有工作.

以下是我尝试的各种代码的代码.

  1. 在身体结束之前写了脚本标签

  2. 在函数内写了javascript代码并在body的onload中调用它,但它也没有用.(还试图评论documnet.onload = cal();并执行).

<!DOCTYPE html>
<html>
<head>
<title>Age Calculator</title>

</head>
<body onload="cal();">
<h1>Age Calculator</h1>
<p>Enter your age and find how many days you have been alive</p>
<script type="text/javascript" src="Age.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
//Javascript code
function cal(){
  var age = prompt("How old are you?");
  var days = age * 365.25;
  alert("You are approx " + days + " days");
}

documnet.onload = cal();
Run Code Online (Sandbox Code Playgroud)

我想在询问用户之前显示html你几岁了?

html javascript

5
推荐指数
1
解决办法
116
查看次数

VueJS 插件冲突

我在由 Vue CLI 4 提供支持的 VueJS 应用程序中创建了两个插件,但是当我尝试在我的页面中使用它时,只有一个可以工作

| plugins
|-- axios.vue
|-- authentication.vue
Run Code Online (Sandbox Code Playgroud)

axios.vue

| plugins
|-- axios.vue
|-- authentication.vue
Run Code Online (Sandbox Code Playgroud)

身份验证.vue

import Vue from "vue";

Plugin.install = function(Vue) {
  Vue.prototype.$myName = "Dean Armada";
};

Vue.use(Plugin);

export default Plugin;
Run Code Online (Sandbox Code Playgroud)

主文件

import Vue from "vue";

Plugin.install = function(Vue) {
  Vue.prototype.$name = "Chris Guinto";
};

Vue.use(Plugin);

export default Plugin;
Run Code Online (Sandbox Code Playgroud)

说明.vue

import axios from "./plugins/axios.js";
import authentication from "./plugins/authentication.js";

Vue.use(axios);
Vue.use(authentication);
Run Code Online (Sandbox Code Playgroud)

做记录

  • 上面的输出将仅为“Dean Armada”并且console.log(this.$name)未定义
  • 但是,如果我注释掉Vue.use(axios)console.log(this.$name)将努力使其输出将是“克里斯Guinto”,另一种是不明确的,因为axios插件未激活

那么我怎样才能让它们同时工作呢?

vuejs2 vue-cli-4

5
推荐指数
1
解决办法
126
查看次数

当部署到 Netlify 时,Nuxt 将 CSS 不透明度编译为 1% 而不是 100%

我有一个在本地运行良好的 Nuxt 应用程序。当我将它部署到 Netlify(yarn generate自动运行的地方)时,我注意到发生了一些奇怪的 CSS 事情。

我有一张带有悬停效果的卡片:

<style lang="scss" scoped>
  .gallery-card {
    align-items: center;
    background: url('/backgrounds/image-1.jpg') no-repeat center center;
    background-size: cover;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: 400px;
    justify-content: center;
    position: relative;
    max-width: 100%;

    .overlay {
      background-color: rgba(255, 255, 255, 0.3);
      bottom: 0;
      left: 0;
      opacity: 0%;
      position: absolute;
      right: 0;
      top: 0;
      transition: 0.2s all ease-in-out;
      visibility: hidden;
    }

    .gallery-title {
      color: white;
      text-shadow: 3px 3px rgba(0, 0, 0, 0.25);
      transition: 0.2s all ease-in-out;
    } …
Run Code Online (Sandbox Code Playgroud)

vue.js netlify nuxt.js

5
推荐指数
1
解决办法
690
查看次数

在 Vue.js 中,在哪里放置代码来设置 Firebase 身份验证状态持久性?

概述

我正在 Quasar/Vue.js 和 Firebase 中构建一个需要对用户进行身份验证的 Web 应用程序。

我想要实现的目标

一个非常常见的功能 - 即使用户关闭浏览器/选项卡后仍保持登录状态。

可能的解决方案

我知道我可以使用localStoragecookie来设置用户身份验证状态。但是,我想允许 Firebase 身份验证为我执行此操作(如果它可以执行此操作)。

我检查了这方面的文档 - https://firebase.google.com/docs/auth/web/auth-state-persistence ,它们很好,但我不知道将其中提到的这段代码放在哪里:

firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
  .then(function() {
    // New sign-in will be persisted with session persistence.
    return firebase.auth().signInWithEmailAndPassword(email, password);
  })
  .catch(function(error) {
    // Handle Errors here.
    var errorCode = error.code;
    var errorMessage = error.message;
  });
Run Code Online (Sandbox Code Playgroud)

我不确定将其放置在以下位置的何处:

  • onAuthStatechanged听众?
  • 在 App.vue(根 Vue)实例中?
  • 别的地方?

如果有人能提供帮助,我会很高兴。谢谢。

javascript firebase vue.js firebase-authentication

5
推荐指数
1
解决办法
2774
查看次数