小编Mik*_*ike的帖子

防止机器人表单提交

我正试图找出一种防止机器人提交表单的好方法,同时保持流程简单.我已经阅读了几个很棒的想法,但我想在提交表单时添加一个确认选项.用户单击"提交"并弹出一个需要用户交互的Javascript确认提示.

这会阻止机器人或者机器人能够解决这个问题吗?下面是代码和JSFIddle来演示我的想法:

的jsfiddle

$('button').click(function () {
  if(Confirm()) {
    alert('Form submitted');
    /* perform a $.post() to php */
  }
  else {
    alert('Form not submitted');
  }
});

function Confirm() {
  var _question = confirm('Are you sure about this?');
  var _response = (_question) ? true : false;
  return _response;
}
Run Code Online (Sandbox Code Playgroud)

javascript forms security jquery spam

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

滚动粘性标题跳跃

当用户向下滚动超过一定数量的像素时,我正在创建一个标头.我的标题是121像素高,但我要坚持的标题部分是标题的底部42像素; 这确实有效,但在它开始粘贴页面时,它会跳起大约50个像素.

我对可能导致这个问题的想法是$('#header').css({position: 'fixed'});.我认为一旦fixed应用内容,内容div不再考虑边际.我试图玩弄不同的位置,但没有任何事情对我有用.

我创建了一个JSFIDDLE来更好地说明我的问题.

JQUERY CODE

$(window).scroll(function()
{
    if( $(window).scrollTop() > 79 )
    {
        $('#header').css({position: 'fixed'});
    } 
    else 
    {
        $('#header').css({position: 'static', top: '-79px'});
    }
});
Run Code Online (Sandbox Code Playgroud)

CSS代码

body {
    margin: 0;
    padding: 0;
}
#header {
    width: 100%;
    height: 121px;
    background: url(http://libertyeaglearms.com/dev/admin/graphics/header-bg.png);
}
#content {
    margin: 10px auto;
    width: 300px;
    min-height: 600px;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<div id="header">header</div>
<div id="content">content goes here</div>
Run Code Online (Sandbox Code Playgroud)

html css jquery

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

如何使用多个表而不是获取重复数据?(MySQL的/ PDO)

我正在努力创建一个可容纳大约1000支枪的火器站点.这不是很多数据库条目,但我试图尽可能保持数据库的轻量级.我已经创建了五个表,记住了规范化,并且在将数据放入一个查询中的所有五个表时遇到了问题.我的数据库结构如下:

+-----------------+ +-----------------+ +-----------------+ +-----------------+ 
|       make      + |      model      | |      image      | |      type       |
+-----------------+ +-----------------+ +-----------------+ +-----------------+
| PK | make_id    | | PK | model_id   | | PK | model_id   | | PK | type_id    |
+-----------------+ +-----------------+ +-----------------+ +-----------------+
|    | make_name  | |    | make_id    | |    | image_path | |    | type_name  |
+-----------------+ +-----------------+ +-----------------+ +-----------------+  
                    |    | type_id    |
                    +-----------------+           +------------------+
                    |    | caliber_id |           |      caliber     |
                    +-----------------+           +------------------+ …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

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

CSS溢出不适用于chrome

我有一个"超级菜单",其中包含一个.png,它应该在用户鼠标离开菜单后隐藏.它在IE浏览器中可以正常工作,但不能在Chrome中运行 - 它会使图片中的区域悬停在菜单之外.

根据Sparkys的建议,这是 JSFiddle

这是我的开发文件夹的链接:

http://libertyeaglearms.com/dev/

这是我的css的直接链接:

http://libertyeaglearms.com/dev/assets/menu.css

我认为这可能与第6行有关

.megaCreator a img{ 
  display:block;
  position:absolute;
  bottom:-50px;
  right:-50px;
  max-width:550px;
  outline:none;
  border:none;
  background:none; 
}
Run Code Online (Sandbox Code Playgroud)

但是,我不确定.

如果我需要直接在这里发布代码,我会,我不确定问题究竟在哪里,所以通过实际工作表查看所有css,我觉得,会更好.

这里有几个屏幕截图显示了这个问题:

这是鼠标:

在此输入图像描述

这是鼠标:

在此输入图像描述

注意:我没有使用任何JavaScript的菜单,以防问题出现!

谢谢 :)

这是工作代码 - > JS FIDDLE

html css google-chrome css3

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

使用递归构建动态Mega菜单?

我正在尝试使用PHP创建一个Mega菜单,我在使结构正确输出时遇到问题.我已经对Mega菜单进行了硬编码以测试所有内容并且工作正常,但显然我需要PHP来为我创建它.

我有一个硬编码的Mega菜单示例,所以每个人都可以看到我正在尝试创建的内容:

http://www.libertyeaglearms.com/dev

或者这是代码:

期望的输出:

    <div id="wrapper">
        <ul class="mega-menu">
            <li class="mega-menu-drop">
                <a href="#">Firearms</a>
                 <div class="mega-menu-content">
                     <div class="column">
                         <h4>Rifles</h4>
                          <ul>
                              <li><a href="#">One</a></li>
                              <li><a href="#">Two</a></li>
                              <li><a href="#">Three</a></li>
                              <li><a href="#">Four</a></li>
                              <li><a href="#">Five</a></li>
                          </ul>
                      </div>
                      <div class="column">
                          <h4>Handguns</h4>
                          <ul>
                              <li><a href="#">One</a></li>
                              <li><a href="#">Two</a></li>
                              <li><a href="#">Three</a></li>
                              <li><a href="#">Four</a></li>
                              <li><a href="#">Five</a></li>
                          </ul>
                      </div>
                      <div class="column">
                          <h4>Shotguns</h4>
                          <ul>
                              <li><a href="#">One</a></li>
                              <li><a href="#">Two</a></li>
                              <li><a href="#">Three</a></li>
                              <li><a href="#">Four</a></li>
                              <li><a href="#">Five</a></li>
                          </ul>
                      </div>
                  </div>
              </li>
              <li class="mega-menu-drop">
                  <a href="#">Archery</a>
                  <div class="mega-menu-content">
                      <div class="column">
                          <h4>Bows</h4>
                          <ul>
                              <li><a href="#">One</a></li>
                              <li><a href="#">Two</a></li>
                              <li><a …
Run Code Online (Sandbox Code Playgroud)

php recursion

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

无法安装gulp-sass

我正在尝试学习如何使用gulp/sass /和Nodejs的所有其他有趣的工具,我在安装gulp-sass时遇到问题.我用来安装一切的过程是:

1.  Start Git Bash in the project folder
2.  npm init
3.  npm install gulp -g
4.  npm install gulp --save-dev
5.  npm install gulp-sass <- this is where I get errors
Run Code Online (Sandbox Code Playgroud)

一旦我进入第五步,我收到以下错误:

$ npm install gulp-sass
npm WARN package.json project@1.0.0 No repository field.
npm WARN package.json project@1.0.0 No README data
-
> node-sass@3.2.0 install     \\primary\home\mendsley\profile\Desktop\project\node_modules\gulp-  sass\node_modules\node-sass
> node scripts/install.js

'\\primary\home\mendsley\profile\Desktop\project\node_modules\gulp-   sass\node_modules\node-sass'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. …
Run Code Online (Sandbox Code Playgroud)

sass node.js gulp gulp-sass

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

使用递归来构建导航

我正在为一个站点构建导航,对于我的生活,我无法弄清楚递归.我使用这种设计通过MySQL存储了所有数据:

在此输入图像描述

我已经阅读了几个关于递归如何工作的链接,我一定很慢,因为我很难掌握.我试着写一些东西,我知道它甚至不是我真正需要的东西,但它是一个开始:

PDO

public function viewCategories()
{
    $viewSQL = "SELECT * FROM categories";  
    try
    {
        $pdo = new PDO('mysql:host=localhost;dbname=store','root','');
        $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        $categoryVIEW = $pdo->prepare($viewSQL);
        $categoryVIEW->execute();
        $array = $categoryVIEW->fetchAll(PDO::FETCH_ASSOC);
        $categoryVIEW->closeCursor();
        $json = json_encode($array);
        return $json;
    }
    catch(PDOexception $e)
    {
        return $e->getMessage();
        exit();
    }
}
Run Code Online (Sandbox Code Playgroud)

递归

$return = json_decode($category->viewCategories(),true);

function buildNavigation($json)
{
    foreach($json as $item)
    {
        if($item['category_id'] === $item['parent'])
        {
            print('<li>'.$item['category_name'].'</li>');
            if($item['category_id'] === $item['parent'])
            {
                print('<li>match'.$item['category_name'].'</li>');
                buildNavigation($json);
            }
        }
}
buildNavigation($return);
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,这将永远不会进入.我确实试图通过自己来解决这个问题,因为知道这是一件好事,但我想这超出了我的心理能力:(

谢谢你看看:)

UPDATE

我知道这已经得到了解答,但有没有办法可以做到这一点来构建一个关联数组?我一直在玩一个ALMOST为我工作的功能,我从这里获得,但它增加了一个我不想要的额外数组.

方法

private function buildCategories($array,$parent)
{
    $result …
Run Code Online (Sandbox Code Playgroud)

php mysql recursion

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

如何正确结束用户会话?

我一直致力于我的网站(PHP)的安全性,并且有很多信息可以摄取.我试图实现我在OWASP上研究过的安全性,但有一件事我有点紧张,除其他外,还有当用户注销时如何处理SESSIONS.

目前我正在使用的是:

session_destroy();
Run Code Online (Sandbox Code Playgroud)

但是,我已经读过我应该更改XRSF令牌并启动另一个SESSION,这样它就会强制用户重新提交登录凭据,从而明确地结束用户SESSION.

是否session_destroy()足够?

编辑

我已经下载了michael-the-messenger,我认为它是由Michael Brooks(Rook)创建的,它应该非常安全,我看到了一些我可能想要使用的代码.这是否可以安全地取代session_destroy()我正在使用的东西?

if($_SESSION['user']->isAuth())
{
    /* if they have clicked log out */
    /* this will kill the session */
    if($_POST['LogMeOut'] == 'true')
    {
        //When the user logs out the xsrf token changes.
        $tmp_xsrf = $_SESSION['user']->getXsrfToken();
        $_SESSION['user']->logout();
        $loginMessage = str_replace($tmp_xsrf, $_SESSION['user']->getXsrfToken(), $loginMessage);
        print layout('Authorization Required', $loginMessage);
    }
    else
    {
        header("Location: inbox.php");
        //user is allowed access. 
    }
}
else
{
    // code goes on ....
Run Code Online (Sandbox Code Playgroud)

登出

public …
Run Code Online (Sandbox Code Playgroud)

php security csrf owasp

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

无法在httpd.conf中禁用目录列表

我刚刚在我的个人CentOS盒子上安装了XAMPP,当我尝试禁用时,Directory Listing我在重启时遇到Apache错误.httpd.conf在我进行更改后,我的文件看起来像这样:

httpd.conf文件

Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
Alias /bitnami "/opt/lampp/apache2/htdocs"

<Directory "/opt/lampp/apache2/htdocs">
    Options -Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

错误

XAMPP: Starting Apache...fail.
AH00526: Syntax error on line 5 of /opt/lampp/apache2/conf/httpd.conf:
Either all Options must start with + or -, or no Option may.
Run Code Online (Sandbox Code Playgroud)

我试过一起删除索引,我仍然可以看到我的目录.也许我在错误的文件中,但从我读过的禁用目录列表必须在这里或.htacces(我试图避免.)如果它出现我确保每次都重新启动XAMPP我做了改变.

apache xampp lamp apache2 httpd.conf

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

Angular2输出/ emit()不起作用

对于我的生活,我无法弄清楚为什么我不能发射或捕获一些数据.该toggleNavigation()火灾,但我不知道,如果.emit()实际工作.

最后,我要崩溃了,并展开导航,但现在我只是想了解如何从发送数据navigation.componentapp.component.

这是一个Plunker链接

app.component

import { Component } from '@angular/core';
import { PasNavigationComponent } from './shared/index';

@Component({
    moduleId: module.id,
    selector: 'pas-app',
    template: `
          <pas-navigation 
            (toggle)="toggleNavigation($event);">
          </pas-navigation>

          <section id="pas-wrapper">
              <pas-dashboard></pas-dashboard>
          </section>              
    `,
    directives: [PasNavigationComponent]
})

export class AppComponent {
    toggleNavigation(data) {
    console.log('event', data);
    }
}
Run Code Online (Sandbox Code Playgroud)

PAS-navigation.component

import { Component, Output, EventEmitter } from '@angular/core';

@Component({
    moduleId: module.id,
    selector: 'pas-navigation',
    template: `
        <nav>
            <div class="navigation-header">
                <i class="fa fa-bars" (click)="toggleNavigation()"></i>
            </div>
        </nav>
    `
    })

export …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular2-directives angular

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

从父子关系构建关联数组

我一直在玩一个ALMOST为我工作的功能,这是我从这里获得的,但它增加了一个我不想要的额外阵列.信息存储在我的数据库中,如下所示:

在此输入图像描述

方法

private function buildCategories($array,$parent)
{
    $result = array();
    foreach($array as $row)
    {
        if($row['parent'] == $parent)
        {
            $result[$row['category_name']] = $this->buildCategories($array,$row['category_id']);
        }
    }
    return $result;
}
$json = json_encode($this->buildCategories($array,NULL));
return $json;
Run Code Online (Sandbox Code Playgroud)

我要这个:

{"reloading":{"components","presses and dies","tumblers & scales","tools & accessories","shotshell reloading"}
Run Code Online (Sandbox Code Playgroud)

但我得到的是这个:

{"reloading":{"components":[],"presses and dies":[],"tumblers & scales":[],"tools & accessories":[],"shotshell reloading":[]}
Run Code Online (Sandbox Code Playgroud)

注意:我问了一个类似的问题,但它不是建立一个关联数组.因为它不像我最初的要求,我认为需要另一个线程.

php mysql recursion

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

如何从我的URL中获取最后一个变量名并在switch语句中使用它?

我正在尝试在我的网址中显示最后一个变量名称并使用它来确定我页面上显示的内容.例如,这是我的网址:

http://mysite.php/catalog/?department=123&category=456&sub_category=789

如果URL显示a,sub_category那么我想显示所有被视为子类别的内容.但是,如果网址只显示:

http://mysite.php/catalog/?department=123&category=456

然后我想显示仅与类别相关的内容.

一旦我得到最后一个varibale名称,我将使用switch语句来显示内容.我一直在使用这个代码,但它只获得第一个变量名而不是最后一个?

switch(key($_GET))
{
    case 'department':
        print('show department');
        break;
    case 'category':
        print('show category');
        break;
    case 'sub_category':
        print('show sub_category');
        break;
}
Run Code Online (Sandbox Code Playgroud)

也许这不是最好的方法,如果你有一个比使用switch语句更好的方法让我知道;)

php url query-string

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