小编Sai*_*nce的帖子

阻止公共访问env文件

我刚刚发现Laravel 5可能输出敏感数据并可能导致许多主机的进一步利用:

https://www.google.com/search?q=intext%3ADB_PASSWORD+ext%3Aenv&gws_rd=ssl

我想知道保护.env文件的方法.我可以在.htaccess文件中使用以下代码来保护我的.env文件免受浏览器查看吗?

# Protect .env
<Files .env>
Order Allow,Deny
Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)

我上面的代码会.htaccess工作并保护我的.env文件吗?

php security laravel laravel-5

6
推荐指数
2
解决办法
3947
查看次数

Laravel 会话超时,额外的注销代码

底线:

如何在会话超时时注销用户?


详细问题:

我有一个 Laravel 5.6.* 应用程序,该项目要求用户在空闲时注销。我已经尝试过这里给出的解决方案,但没有一个对我有用。

然后我偶然发现了这篇文章: https://laravel-tricks.com/tricks/session-timeout-for-logged-in-user并通过它但没有成功。


我想要的是:

会话超时时自动注销用户。注销之前,请在表上设置is_logged_in属性。我该如何实现这一目标?false0Users


到目前为止我尝试过的代码:

session.php

/*
 |--------------------------------------------------------------------------
 | Session Lifetime
 |--------------------------------------------------------------------------
 |
 | Here you may specify the number of minutes that you wish the session
 | to be allowed to remain idle before it expires. If you want them
 | to immediately expire on the browser closing, set that option.
 |
 */

 'lifetime' => env('SESSION_LIFETIME', 120),

 'expire_on_close' => false,
Run Code Online (Sandbox Code Playgroud)

SessionTimeOut.php中间件

<?php

namespace App\Http\Middleware;

use …
Run Code Online (Sandbox Code Playgroud)

php authentication session laravel laravel-5.6

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

PHP购物车 - 类别页面不按预期工作

我有2张桌子

制品 制品

和类别
类别
(CatParentId 0是父类别).

我想要实现的是当用户点击父类别时,它应该获取该类别中列出的产品以及它的子类别产品,如果用户点击任何子类别,它应该只获取那些产品列在儿童类别中.

这是我到目前为止使用的完整代码,但没有成功:

<section class="col-lg-9 col-md-9 col-sm-9">
    <?php
    $catId = $catName = $n = "";
    $id = 0;
    require_once 'Classes/class.Validation.php';
    $validate = new Validation();
    if ( isset( $_GET['name'] ) && $_GET['name'] != "" ) {
        $catName = $_GET['name'];
        $u = "SELECT CatId, CatName, CatParentId FROM categories WHERE CatName = '".$catName."'";
        $validate->Query($u);
        if ($validate->NumRows() >= 1) {
            while ($rows = $validate->FetchAllDatas()) {
                $id = $rows['CatId'];
                $n = $rows['CatName'];
                $query = "SELECT
                              c.CatName,
                              p.ProdCode,
                              p.ProdName
                          FROM
                              products p, …
Run Code Online (Sandbox Code Playgroud)

php mysql shopping-cart cart

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

使用laravel 5中的ajax从表中删除记录

我想使用ajax删除记录.

视图

@foreach( $products as $product )
    <tr>
        <td>{{ $product->code }}</td>
        <td>{{ $product->name }}</td>
        <td>{{ $product->display }}</td>
        <?php $time = date('d M, Y h:i:s A', strtotime($product->created_at)); ?>
        <td>{{ $time }}</td>
        <td>
            <a href="{{ url('/admin/products/' . $product->id . '/edit') }}" class="links-dark edits pull-left">
                <i class="fa fa-edit fa-lg"></i>
            </a>
            <div id="deleteTheProduct">
                {!! Form::open(['method' => 'DELETE', 'id' => 'formDeleteProduct', 'action' => ['AdminProductsController@destroy', $product->id]]) !!}
                    {!! Form::button( '<i class="fa fa-trash fa-lg"></i>', ['type' => 'submit', 'class' => 'delete text-danger deleteProduct','id' => 'btnDeleteProduct', 'data-id' => $product->id …
Run Code Online (Sandbox Code Playgroud)

php ajax laravel laravel-5

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

CKEDITOR - 在 Laravel 5 中使用 AJAX 更新/创建产品失败

我想将 ckeditortextarea字段中编写的 html 内容存储在我products使用 AJAX调用的数据库表中。

一切都被成功插入和/或更新,留下产品描述。

product_edit.blade.php

{!! Form::open(['files' => 'true', 'autocomplete' => 'off', 'name' => 'formEditProductGeneralInfo', 'id' => 'formEditProductGeneralInfo']) !!}
    <div class="form-group">
        {!! Form::label('code', 'Code:') !!}
        {!! Form::text('code', $product->code, ['class' => 'form-control input-sm']) !!}
    </div>

    <div class="form-group">
        {!! Form::label('name', 'Name:') !!}
        {!! Form::text('name', $product->name, ['class' => 'form-control input-sm']) !!}
    </div>

    <div class="form-group">
        {!! Form::label('description', 'Product Description:') !!}
        {!! Form::textarea('description', $product->description, ['class' => 'form-control input-sm ckeditor', 'rows' => 3, 'id' => 'prdDescription']) !!}
    </div>

    <div class="form-group"> …
Run Code Online (Sandbox Code Playgroud)

php ajax jquery ckeditor laravel-5

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

Laravel 5.4 发送带有附件错误的邮件 - 使用 Mailtrap.io

我正在尝试在开发环境中发送带有附件的电子邮件 -mailtrap用于相同的用途。此附件可以是任何文件类型。但是,我总是最终收到错误:

Expected response code 250 but got code "502", 
with message "502 5.5.2 Error: command not recognized
Run Code Online (Sandbox Code Playgroud)

我不知道我在什么地方犯了什么错误,但我没有达到预期的结果,那就是发送带有附件的邮件。

附件文件位于public/email-attachments/文件夹内

这是我迄今为止尝试过的源代码:

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    $mailContent = cache('allEmailContents')->first();

    return $this->from('welcome@dprefumry.com')
                ->subject($mailContent->subject)
                ->view('emails.send')
                ->attach($mailContent->attachment, [
                    'as' => str_slug($mailContent->subject),
                    'mime' => File::mimeType($mailContent->attachment)
                ])
                ->with(['mailContent' => $mailContent]);
}
Run Code Online (Sandbox Code Playgroud)

routes/web.php文件中:

Route::get('/', function() {
    Mail::to('maddy@example.com')
            ->send(new SendWelcomeEmail());

    return view('welcome');
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过发送邮件的旧方式,但没有成功:

Route::get('/', function() {
    $mailContent = cache('allEmailContents')->first();
    $data = …
Run Code Online (Sandbox Code Playgroud)

php email laravel laravel-mail laravel-5.4

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

多文件上传的Laravel 5 TokenMismatchException

在我的Laravel 5应用程序中,管理员可以上传产品图像和产品的pdf文件.因此,表单有2个输入字段,如下所示:

<div class="col-md-4 col-sm-6">
    <div class="form-group">
        {!! Form::label('image', 'Image File:') !!}
        {!! Form::file('image', ['class' => 'form-control input-sm'] ) !!}
    </div>
</div>

<div class="col-md-4 col-sm-6">
    <div class="form-group">
        {!! Form::label('leaflet', 'Leaflet:') !!}
        {!! Form::file('leaflet', ['class' => 'form-control input-sm'] ) !!}
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我上传小于2MB的图像和传单时,它会成功上传.但是在使用时,传单超过2MB,我明白了TokenMismatchException at line 46

在我的php.ini文件中,/etc/php5/apache2/php.ini我有这样的配置:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2G

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to …
Run Code Online (Sandbox Code Playgroud)

php file-upload exception laravel-5

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

Composer 更新说明没有安装或更新

  • Laravel 版本:5.6.35
  • PHP 版本:7.1.20
  • 数据库驱动及版本:MySQL v5.5.61-0ubuntu0.14.04.1

描述:

在提出这个问题时,Laravel 的最新版本是 5.6.37 - 2 天前发布,即 2018 年 9 月 2 日。

我已经有一个正在处理的项目。在运行时composer update,我总是得到以下信息:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: barryvdh/laravel-debugbar
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
Run Code Online (Sandbox Code Playgroud)

这是在我将 Laravel 项目更新到 5.6.35 之后才开始的。

当我安装一个新的 Laravel 项目时,情况并非如此。在新安装时,会下载最新版本的 laravel,即 5.6.37。

下面是我的 composer.json 文件

{
    "name": "laravel/laravel", …
Run Code Online (Sandbox Code Playgroud)

php laravel composer-php laravel-5.6

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

Ubuntu没有检测到我的Android设备

我是android的新手.我刚下载并安装了android sdk.现在,当我从eclipse运行应用程序时,我的设备没有被检测到.我用google搜索并将其作为我的解决方案,但这也没有奏效.

这是51-android.rules

SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4",  ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"
Run Code Online (Sandbox Code Playgroud)

之后我重启了我的笔记本电脑,并运行了这个命令:

username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions
Run Code Online (Sandbox Code Playgroud)

编辑

如果我运行lsusb,当插入设备时,我得到以下输出.

Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID …
Run Code Online (Sandbox Code Playgroud)

eclipse ubuntu android

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

Laravel - 使用@section动态设置元标记

我想实现Facebook分享按钮功能,它将在用户点击分享按钮期间捕获元标签信息.

我有一个head.blade.php,其中包含一些要捕获的元标记.例

<meta property="og:url" content="@yield('facebook_share_url')">
<meta property="og:image" content="@yield('facebook_share_image')">
<meta property="og:description" content="@yield('facebook_share_description')">
Run Code Online (Sandbox Code Playgroud)

我有一个default.blade.php.

<!doctype html>
<html>
<head>
    @include('includes.head')
</head>
<body>
<div class="container">

    <header class="row">
        @include('includes.header')
    </header>

    <div id="main" class="row">
        @yield('content')
    </div>
</div>

@include('includes.footer')
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

因此,当我浏览一些网址www.example.com/details时,default.blade.php将从此details.blade中获取内容.此时我想更改facebook元标记属性,所以我在详细信息页面中执行了类似下面的操作.

@section('facebook_share_image', 'This is a description')
@section('facebook_share_description', 'This is an individual page title')
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但我想从我的视图数据中呈现它.就像是@section('facebook_share_description', {{ $data->description }})

但是当我检查我的元标记时,它什么也没给我.有可能这样做吗?

php laravel laravel-blade

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

Laravel 5.2在@foreach中形成

我尝试将一个表单放在foreach循环中.代码是:

@foreach( $document_rows as $row )

    <?php
        $idx      = $row->id;
        $product  = Product::find( $row->product_id );
        $vat      = Vat::find( $row->vat_id );
        $tot_riga = floatval($row->price) * intval($row->product_quantity);
    ?>

    {!! Form::open([
        'method' => 'PUT',
        'route' => [ 'document.row.update', $document->id, $row->id ],
        'class' => 'form-horizontal',
    ]) !!}

    <tr class="document_row">
        <td
            id="field_id-{{ $idx }}"
            readonly="true"
            data-field="id"
            data-id="{{ $idx }}"
        >
            {{ $idx }}
        </td>
        <td
            class="field"
            id="field_name-{{$idx}}"
            data-field="name"
            data-id="{{ $idx }}"
        >
            {{ $row->product_name }}
        </td>
        <td
            class="field"
            id="field_um-{{$idx}}"
            data-field="um"
            data-id="{{ $idx }}"
        >
            {{ …
Run Code Online (Sandbox Code Playgroud)

php laravel-5 laravel-form laravel-5.2

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

Pusher在Laravel 5.3中不显示消息

我是Pusher和Laravel Echo的新手,并且逐步学习它。我正在尝试在新项目中实现它,但是以某种方式,我无法理解此推送程序库如何与Laravel Echo一起工作。

我正在做的是,在管理员注册后,我只想检查我所做的是否正确。我只想查看在Pusher仪表板帐户中的调试控制台上生成的事件的输出是什么。

我创建了一个AdministratorGenerated包含以下内容的事件:

class AdministratorGenerated implements ShouldBroadcast
{
    use InteractsWithSockets, SerializesModels;

    public $user;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return Channel|array
     */
    public function broadcastOn()
    {
        //return new PrivateChannel('administrator');

        // To send it as public channel to pusher
        return['administrator'];
    }
}
Run Code Online (Sandbox Code Playgroud)

在bootstrap.js文件中,我有:

import Echo from "laravel-echo"

window.Echo = new …
Run Code Online (Sandbox Code Playgroud)

php laravel pusher laravel-5.3

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