小编Hen*_*Jan的帖子

未为某些 Laravel 路由设置 .htaccess X-Frame-Options 标头

我们有一个 Laravel 应用程序 (Laravel 5.6.35),我们使用 /public 文件夹中的 .htaccess 设置 X-Frame-Options 标头。

<IfModule mod_rewrite.c>
    ...
</IfModule>
<IfModule mod_headers.c>
  # Prevent click jacking
  Header set X-Frame-Options Deny
  Header always append X-Frame-Options SAMEORIGIN
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这在本地开发环境(Laravel、PHP 7.1.23、Apache2、Vagrant 上的 Debian 8.11)上运行良好。所有响应都设置了 X-Frame-Options 标头。

在测试服务器上进行完全相同的设置(除了它不是 Vagrant),只有静态内容(css、js、图像)包含 X-Frame-Options 标头,但所有 Laravel 生成的内容(通过 index.php 的任何内容)没有设置 X-Frame-Options 标头。

看似相同的设置怎么可能会有不同的结果呢?
我们如何为所有路由设置 X-Frame-Options 标头?

(两台服务器上都启用了 headers_module)

.htaccess http-headers laravel

2
推荐指数
1
解决办法
3754
查看次数

Vue 2自定义select2:为什么@input工作时@change不起作用

我为Vue 2创建了一个自定义的select2输入元素。

我的问题是:为什么

<select2 v-model="vacancy.staff_member_id" @input="update(vacancy)"></select2>
Run Code Online (Sandbox Code Playgroud)

工作,但是

<select2 v-model="vacancy.staff_member_id" @change="update(vacancy)"></select2>
Run Code Online (Sandbox Code Playgroud)

不?

由于<input>Vue中的普通元素具有@change处理程序,因此如果我的自定义select2输入具有相同的效果会很好。


有关我的自定义元素的一些信息:

该元素的目的不是呈现所有<option>元素,而是仅呈现所需的那些元素,因为我们在一页上有很多select2输入,而在select2输入内有很多选项,这会导致页面加载变慢。

该解决方案使其速度更快。

<select2 v-model="vacancy.staff_member_id" @input="update(vacancy)"></select2>
Run Code Online (Sandbox Code Playgroud)

jquery-select2 vue-component vuejs2

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

laravel blade @lang()本地化中的多元化?

Laravel 5使用@lang帮助器提供翻译

<!-- file: template.blade.php -->
@lang('some text')
Run Code Online (Sandbox Code Playgroud)

Laravel 5还可以根据变量对字符串进行复数处理。

// file: controller.php
echo trans_choice('messages.apples', 10);
Run Code Online (Sandbox Code Playgroud)

然后,翻译文件将包含以下行来翻译苹果:

// file: /resources/lang/en
'apples' => 'There is one apple|There are many apples',
Run Code Online (Sandbox Code Playgroud)

现在,我想在刀片模板中使用复数形式,但我不知道如何使用它。我尝试了以下方法:

<!-- file: template.blade.php -->
Course duration: {{ $course.days }} @lang('day|days', $course.days)
Run Code Online (Sandbox Code Playgroud)

这似乎是mee的逻辑语法,但这只会给我一个关于输入参数2需要为数组的错误。我也试过这个:

<!-- file: template.blade.php -->
Course duration: {{ $course.days }} @lang('day|days', [$course.days])
Run Code Online (Sandbox Code Playgroud)

和这个:

<!-- file: template.blade.php -->
Course duration: {{ $course.days }} @lang(['day|days', $course.days])
Run Code Online (Sandbox Code Playgroud)

php localization pluralize laravel laravel-blade

0
推荐指数
2
解决办法
1135
查看次数

Laravel Lighthouse GraphQL 从连接三个表的数据透视表查询数据

在 Laravel Lighthouse GraphQL 中,如何从中间“数据透视”表中检索信息?

假设我有一个属于belongsToMany关系的用户和角色:

type User {
  roles: [Role!]! @belongsToMany
}

type Role {
  users: [User!]! @belongsToMany
}

type Query {
    user(id: ID! @eq): User @find
    role(id: ID! @eq): Role @find
}
Run Code Online (Sandbox Code Playgroud)

并且还假设中间表User_Role包含列“created_at”和“tag_id”。
我将如何在查询中包含“created_at”?
我将如何获得tag_id引用的标签?

pivot-table laravel graphql laravel-lighthouse

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

在打字稿中导入 .vue 文件

我正在尝试使用 Typescript 设置 Vue3 项目。
我收到错误:“文件 '/home/.../src/App.vue.ts' 不是模块”。

在 中使用 Javascript 时main.js,它工作正常,但是当将其重命名为 时main.ts,我无法导入“.vue”文件。
主要.ts:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';

createApp(App).use(router).mount('#app');
Run Code Online (Sandbox Code Playgroud)

现在,运行时yarn serve,输出显示:

ERROR in src/main.ts:2:17
TS2306: File '/home/.../src/App.vue.ts' is not a module.
    1 | import { createApp } from 'vue';
  > 2 | import App from './App.vue';
      |                 ^^^^^^^^^^^
    3 | import router from './router';
Run Code Online (Sandbox Code Playgroud)

让 Typescript 理解文件的方法是什么.vue?

typescript vuejs3 vue-sfc

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