小编Jus*_*tin的帖子

Laravel,没有Shell Access的dump-autoload

我有两个同名的控制器:

app\controllers\CareersController.php(供公众使用) app\controllers\Admin\CareersController.php(适用于管理员)

由于命名冲突,我添加namespace admin;到管理控制器.

一切都在本地工作正常,但当我将新的管理控制器上传到我的服务器时,我收到一个错误: Class Admin\CareersController does not exist

根据我的理解,修复是: php artisan dump-autoloadcomposer dump-autoload

但是,我没有Shell访问权限来运行这些命令,并且无论如何都没有在服务器上安装composer.那么,有没有办法在没有Shell访问的情况下重新加载自动加载文件?

php shell laravel composer-php laravel-4

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

使用PHP来防止图像中的XSS攻击

阅读http://dsecrg.com/files/pub/pdf/XSS_in_images_evasion_bypass_(eng).pdf后,很明显允许用户上传图片会让您受到XSS攻击.

我无法找到任何关于如何筛选上传图像进行XSS攻击的PHP示例.

我找到了一个CodeIgniter,我正在使用它.功能是xss_clean($file, IS_IMAGE),但它只有一个文档的句子,所以我不知道它是如何工作的,他们的论坛中的评论说它有一个不合理的高误报率,所以它不适用于生产.

您建议在上传的图像中防止XSS攻击?

php security xss codeigniter

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

在Laravel中验证用户时防止暴力攻击

是否可以使用Laravel对条件用户进行身份验证来防止暴力攻击?

这个PHP的答案建议在数据库中添加两列(TimeOfLastFailedLoginNumberOfFailedAttempts),然后在每次登录尝试时检查这些值.

以下是使用条件对用户进行身份验证的Laravel语法:

if (Auth::attempt(array('email' => $email, 'password' => $password, 'active' => 1)))
{
    // The user is active, not suspended, and exists.
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用条件参数来检查指定时间段内的尝试次数?例如,在过去60秒内少于3个请求.

php brute-force laravel

5
推荐指数
2
解决办法
4577
查看次数

浏览器对数字字体粗细的支持

何时将对数字字体粗细的完全支持添加到每个浏览器?具体来说:IE,FireFox,Chrome,Safari,iOS Safari,Android浏览器。

我知道所有浏览器都支持boldnormal,但是我无法找到完全支持CSS font-weight属性的数值的浏览器的最新列表。我发现的唯一信息是Font-weight仍然坏了。它显示当时大多数浏览器无法正确呈现数字权重,但这是从IE8发行之前的2009年开始的。

例:

<link href='http://fonts.googleapis.com/css?family=Roboto:300,400,700' rel='stylesheet' type='text/css'>
<style>
body { font-family: 'Roboto', sans-serif; }
.light { font-weight:300 }
.normal { font-weight:400 }
.bold { font-weight:700 }
</style>
Run Code Online (Sandbox Code Playgroud)

css fonts cross-browser

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

显示PHP异常消息是否存在安全风险?

我想在Laravel 5.1中抛出错误时设置要显示给用户的自定义消息.例如,在控制器中我可能有:

if(!has_access()){
    abort('401', 'please contact support to gain access to this item.');
}
Run Code Online (Sandbox Code Playgroud)

然后我的自定义错误页面我会显示错误:

$exception->getMessage();
Run Code Online (Sandbox Code Playgroud)

但是,如果出现SQL错误或其他事件怎么办?那还不会设置我在错误页面上不知不觉地输出的异常消息吗?

getMessage()PHP文档没有详细介绍.

如何在不引入任何安全风险的情况下设置特定的异常消息?

php security exception-handling laravel laravel-5.1

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

AWS CodeBuild,未指定工件文件

AWS CodeBuild 运行成功,但不会将构建移动到 S3。它应该从 Github 下载我的代码,运行一些命令,然后将所有文件的 ZIP 推送到 S3。

我在 github 中的buildspec.yml

version: 0.1

phases:
  pre_build:
    commands:      
      - echo Pre-build started on `date`
      - cp envs/.env.test .env
      - composer self-update      
      - composer install --no-interaction   
  artifacts:
    files:
      - '**/*'
Run Code Online (Sandbox Code Playgroud)

以下是显示未指定工件文件的日志:

[Container] 2017/04/18 16:33:59 Phase is DOWNLOAD_SOURCE
[Container] 2017/04/18 16:33:59 Source is located at /tmp/src930293331/src
[Container] 2017/04/18 16:33:59 YAML location is /tmp/src930293331/src/buildspec.yml
[Container] 2017/04/18 16:33:59 Registering with agent
[Container] 2017/04/18 16:33:59 Phases found in YAML: 2
[Container] 2017/04/18 …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services composer-php aws-codebuild

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

管理员的Laravel Mass Assignment

我有一个带有Users表的Users表的应用程序:id|name|email|is_admin.我希望管理员能够将其他用户设置为管理员.

models/User.php我防止大规模分配:

protected $fillable = ['name', 'email'];
Run Code Online (Sandbox Code Playgroud)

Laravel 4基于角色的质量分配得出结论,Laravel没有这样的功能.

我的问题是,什么是可行的解决方案?如何才允许管理员更新数据库中的"is_admin"列?

php roles mass-assignment laravel laravel-4

3
推荐指数
2
解决办法
1493
查看次数

更改航海者模型

我想在 Voyager 的 User 类上添加一些修改器,但我不会更改 vendor 文件夹中的任何内容,并且 Voyages 在包中使用了 User 模型。我有可能以某种方式改变这一点吗?

laravel voyager

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

从 SAML 迁移到 OpenID Connect

由于 SAML 和 OpendID Connect(OIDC) 是处理身份验证/SSO 的根本不同的方法,它们是否可以在同一个应用程序中并排存在?

作为拥有许多使用 SAML 向我们进行身份验证的供应商(外部)应用程序的组织,从 SAML 切换到 OIDC 以便我们可以转向更现代/更简单的单点登录解决方案是否合理?

Okta这样的 ID 管理的主要供应商有很多关于如何实施 SAML 或 OIDC 的文档,但我找不到任何人或任何文档提到从一个迁移到另一个所涉及的工作水平。有没有人做过?涉及什么?

saml saml-2.0 openid-connect okta

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

从局部视图重定向到Codeigniter中的show_404

我在CodeIgniter中使用HMVC模式.我有一个控制器通过modules :: run()函数加载2个模块,并将参数传递给每个模块.

如果任何一个模块与传递的参数不匹配,我想调用show_404().它可以工作,但它在我现有的模板中加载了错误页面的完整HTML,因此HTML中断并且看起来很糟糕.我想我希望它重定向到错误页面,因此它不会运行第二个模块.有没有办法做到这一点,而不是改变URL?

是否可以在不更改URL的情况下从模块重定向到show_404()?

这是一个简单的例子,说明发生了什么:

www.example.com/users/profile/usernamehere

url在用户控制器中调用此函数:

function profile($username)
{
    echo modules::run('user/details', $username);
    echo modules::run('user/friends', $username);
}
Run Code Online (Sandbox Code Playgroud)

运行这些模块,查看用户是否存在:

function details($username)
{
    $details = lookup_user($username);
    if($details == 'User Not Found')
        show_404(); // This seems to display within the template when what I want is for it to redirect
    else
        $this->load->view('details', $details);
}

function friends($username)
{
    $details = lookup_user($username);
    if($friends == 'User Not Found')
        show_404(); // Redundant, I know, just added for this example
    else
        $this->load->view('friends', $friends);
}
Run Code Online (Sandbox Code Playgroud)

我想有一个更好的方法,但我没有看到它.有任何想法吗?

codeigniter hmvc http-status-code-404

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

带有jQuery的模块化AJAX加载指示器

我试图为包含许多AJAX请求的页面显示加载图像(并将父透明化).为每个div独立添加/删除加载图标和不透明度最有效的方法是什么?

这是我到目前为止所拥有的.我的方法的问题是不透明度也应用于gif,这不是我想要的.是否可以轻松修复我的代码或更好的方法?

示例:http://jsfiddle.net/justincook/x4C2t/

HTML:

<div id="a" class="box">A</div>
<div id="b" class="box">B</div>
<div id="c" class="box">C</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$.fn.loading = function(show){
    if(show){
        this.prepend('<div class="loading-centered"></div>');
        this.css({ opacity: 0.3 });
    }else{
        this.children('.loading-centered').remove();
        this.css({ opacity: 1 });
    }
};

$('#a').loading(true); //start  
setTimeout(function(){ $('#a').loading(false); }, 3000); // stop
Run Code Online (Sandbox Code Playgroud)

javascript css ajax jquery css3

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

修改Devise重置密码错误文本

使用Devise GEM,当重置用户密码时,可以设置新密码.如果输入的密码不匹配或密码太短,则会收到默认消息:

•密码与确认不符

•密码太短(最少8个字符)

我如何/在哪里更改这些错误消息的文本?

ruby ruby-on-rails devise ruby-on-rails-3

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