小编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万
查看次数

模板和根节点与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
查看次数

使用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
查看次数

如何在VueJS中的<ul>上实现鼠标悬停?

任何人都可以帮助实现UL的鼠标功能,我的模板中有一组使用相同类的UL标签,但是当我尝试实现鼠标悬停(在鼠标悬停时更改边框颜色)时,所有的UL标签都是该课程正在突出显示.我对VUE很陌生.

模板

<ul v-bind:class="[sbitmcls]"  @mouseover="mouseOver" @mouseleave="mouseOut">
  <img src="../assets/notification.png" alt="" height="30" width="30">
  <span> Notification  </span>
</ul>

<ul v-bind:class="[sbitmcls]"  @mouseover="mouseOver" @mouseleave="mouseOut">
  <img src="../assets/message.png" alt="" height="30" width="30">
  <span> Message  </span>
</ul>
Run Code Online (Sandbox Code Playgroud)

脚本

data() {
  return {
    sbitmcls: "image",
    active: true
    };
  },
  methods: {
    onClick() {
    this.$router.push("/homepage");
  },
  mouseOver: function(name) {
    this.sbitmcls = "imageSelected"
  },
  mouseOut: function() {
    event.target.style.background = "#4a4b45";
  }
}
Run Code Online (Sandbox Code Playgroud)

样式:

.image {
  display: relative;
  background-color: #4a4b45;
  color: white;
  font-family: Rubik, "Bookman", Garamond, "Times New Roman", Times, serif;
  font-size: 1.2em; …
Run Code Online (Sandbox Code Playgroud)

css vue-router vue-component vuejs2

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

传递给子组件的道具在 created 方法中未定义

我正在使用 Vue.js 2。

我在将值作为道具传递给子组件时遇到问题。我正在尝试传递cardcard-component.

card-component我可以访问该Card goes here {{card}}部分中的道具。

但是,当我尝试在createdmounted方法中访问它时,它是undefined.

家长:

<template>
    <div class="container">
        <div class="row">
            <div class="col-md-8 col-md-offset-2">

                <card-component :card="place.card"></card-component>

            </div>
        </div>
    </div>
</template>

<script>
    import CostComponent from './CostComponent';
    import CardComponent from './CardComponent';

    export default {
        components: {
            CostComponent, CardComponent
        },

        props: ['id'],

        data() {
            return {
                place: []
            }
        },

        created() {
            axios.get('/api/places/' + this.id)
            .then(response => this.place = response.data);
        }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

孩子:

<template> …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2

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

IE11:类型错误:Intl 不可用

我有一个 Angular 应用程序,可以在所有浏览器上正常工作,包括 IE11。然而,在某些情况下(仍然不确定为什么),IE 会抛出 TypeError,这是由 Angular CDK 平台 umd javascript 引起的:

var hasV8BreakIterator = (typeof Intl !== 'undefined' && ((/** @type {?} */ (Intl))).v8BreakIterator);
Run Code Online (Sandbox Code Playgroud)

缩小为:

o="undefined"!=typeof Intl&&Intl.v8BreakIterator
Run Code Online (Sandbox Code Playgroud)

错误是:

类型错误:Intl 不可用

我的问题是,一般来说,“TypeError:xxx 不可用”是什么意思,更具体地说,是否有任何原因会出现这种情况。

javascript

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

当部署到 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
查看次数

VueJS 方法和函数的区别?

我没有找到太多关于这个的东西,使用方法和在脚本标签中声明一个函数有什么区别?

例子.vue

<script>
export default{
    methods: {
        testfunction1(){
            ...
        }
    },
    mounted(){
        this.testfunction1();
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

相比

<script>
export default{
    methods: {
        ...
    },
    mounted(){
        testFunction1();
    }
}

function testFunction1(){
    ...
}
</script>
Run Code Online (Sandbox Code Playgroud)

PS:如果它们都是合法的,它们的用例是什么?- 什么时候使用两者?

vue.js nuxt.js

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

如何使用函数返回 img 标签的 url

所以我正在渲染一系列帖子。每个帖子都有一个与之关联的唯一用户 ID,我尝试在另一个 API 调用中使用该 ID 来返回该帖子的用户图像。

目前我的设置如下

渲染出帖子

             {data?.map((data) => (
                <div className="allpostsingle" key={data.id} onClick={() => sendTo(data.id)}>
                    <div className="allpostheader">
                        <img src={getUrl(data.user)}/>
                        <p>{data?.description}</p>
                    </div>
                </div>
              ))}
Run Code Online (Sandbox Code Playgroud)

获取图片URL的函数

   const getUrl = async (id) => {
       let url = `http://127.0.0.1:8000/api/user/${id}/`
       const response = await fetch(url)
       const data = await response.json()
       const avatarurl = data.avatar
       return avatarurl
   }

Run Code Online (Sandbox Code Playgroud)

问题是它返回的是一个承诺而不是 URL。我知道你可以将其设置为获取 url 的状态,但是这样每个帖子就不会是唯一的吗?

我只是想知道如何解决这个问题,或者是否有其他方法来解决这个问题。

javascript reactjs fetch-api

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