小编cto*_*ife的帖子

在PHP会话中存储用户密码是否常见?

这是php Sessions的新手.我存储的用户数据非常小,而且不是很敏感但当然我还想要一个安全的网站.我已经使用salt将他们的密码哈希存储在我的数据库中.

我是否需要使用他们的密码在我网站的每个页面上验证用户,或者是否过度杀伤?换句话说,如果他们已经成功"登录"并且我已经在php会话中存储了他们的用户名,那么他们就可以漫游,网站知道他们是谁?

我问,因为在会话中存储用户密码似乎不是最好的主意.真的吗?

php security session

7
推荐指数
2
解决办法
506
查看次数

我的第一个jQuery插件,函数和全局变量在哪里?

我正在编写我的第一个jQuery插件,并且我有一些关于我应该放置东西的问题.我试着四处寻找,但似乎有不同的方法来构建插件,所以我迷路了.我通过关注jQuerys网站上的Authoring Plugins文档得到了这一点,但不确定下一步该怎么做.

  1. 我在哪里放一个共同的功能?以hello()为例.假设我打算在整个插件中使用该功能,它应该在哪里生活?现在我把它放在顶部,这似乎有效,但我不确定这是正确的做法.

  2. 我在哪里放一个全局变量?以我的变量"imgs"数组为例.我应该在现在或我的init方法或其他地方声明这个吗?

    (function($){
    
    function hello(){
        alert("hello world");
    }
    var imgs = new Array(); 
    
    var methods = {
        init: function(options){
            if(options){
                $.extend({
                    width: 200,
                    height: 200,                        
                    selectedColor: '#123456'
                }, options);    
    
                // for every image do something
                this.find('img').each(function(){   
                    var $this = $(this);
    
                    var width = $this.width();
                    var height = $this.height();
    
                    console.log("width: " + width + " height: " + height);
    
                    selection = function() {
                        console.log($this.attr('src'));                         
                        hello();                
                    };
    
                    $this.bind('click', selection);                     
                });                 
            }               
            return this;        
        },
        test : function( string ) { …
    Run Code Online (Sandbox Code Playgroud)

jquery jquery-plugins

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

php术语:getter和public方法之间的区别?

我的问题更多是关于术语然后是技术性的(或者是它?).

类中的getter方法和公共方法有什么区别?它们是同一个还是它们之间有区别?

我问,因为我正在努力学习最好的编码实践,这个领域对我来说似乎很灰暗.我正在评论我的代码并注意到我有一个名为"Getters"的大部分和另一个名为"公共方法"的大部分然后我就像......"什么是差异?!".

谢谢!

php oop methods getter terminology

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

在HTML5中的一个画布上组合两个图像

我正在使用HTML5 canvas元素.假设我有两个想要组合的ImageData对象,可以放在一个画布上.让我们假设我不关心这些图像是如何结合的.两个ImageData对象都具有完全相同的像素数和形状.

将两张图片组合在一起的最佳方法是什么?

我想我可以写一个for循环并迭代ImageData数组并手动组合并设置每个像素的每个rgba值,但我想知道是否有更好的方法?我需要尽快完成此操作.

提前致谢.

javascript html5 canvas

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

PHP Imagick裁剪负偏移的图像并保留负空间

我正在使用php Imagick :: cropImage,我遇到了一些麻烦.

假设我有这个图像:

测试图像

我想用这个裁剪区裁剪图像: 图像裁剪区域

这是我正在使用的PHP代码:

$width = 200;
$height = 200;
$x = -100;
$y = -50;

$image = new Imagick();
$image->readImage($path_to_image);
$image->cropImage( $width, $height, $x, $y );
$image->writeImage($path_to_image);
$image->clear();
$image->destroy();
Run Code Online (Sandbox Code Playgroud)

结果是50px x 150px图像(这不是我想要的):

图像裁剪结果

我想要的是一个200px x 200px图像,其中填充其余部分(检查图案说明透明像素):

图像裁剪所需的结果

如何填充这些空像素?

php imagemagick imagick

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

Javascript类没有按预期方式确定

希望有人能指出我正确的方向.

我不是OOP的新手,但我不熟悉它在Javascript中的工作方式.我理解js中的类是对象的概念.

我正在编写一个脚本,它将编写一些html并允许用户添加或删除一些元素.一切正常,除非你点击"添加复选框"以获取html在最后一个实例中更新的任何实例而不是自身(这使我相信存在某种范围或封装失败).

我已经简化了问题并发布了一个小提琴,单击"添加复选框"作为"颜色"实例,您将看到html被添加到"animals"组中.请注意我在第25行的js评论.

http://jsfiddle.net/XrJ3D/

var CheckboxGroup = function(label){
  return this.init(label);
}
CheckboxGroup.prototype = {
  type: "checkbox",
  label: null,      
  description: null,
  $label: null,              
  init: function(label){
    if(!label) label = "Checkboxes";
    self = this;         
    this.$wrap = $("<div class='checkBoxGroup'></div>");
    this.$label = $("<div>"+label+"</div>").appendTo(this.$wrap);
    this.$options = $("<div></div>").appendTo(this.$wrap); 
    this.$add = $("<div class='n'>Add Checkbox</div>").appendTo(this.$wrap);

    this.$add.click(function(){          
      self.addOption("New Option");
    });

    this.options = [];       
    return this;          
  },
  addOption: function(label){
    $option = $("<div class='c'><input type='checkbox' name='"+label+"'><span class='l'>"+label+"</span></div>").appendTo(this.$options);

    $remove = $("<span class='rm'>x</span>").appendTo($option);        
    $remove.click(function(){
      var r=confirm("Remove Option?");
      if (r==false) return;                    
      $(this).parents('.c').remove();
    });
    this.options.push($option); …
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在 React JS 中正确导入 firebase 模块来初始化App

我正在尝试初始化 Firebase 应用程序,但我不明白如何或在哪里调用它。

我有一个文件名 fire.tsx ,其中有一个对 firebase 的调用initializeApp。但现在怎么办?我如何将其包含在我的应用程序中?

我认为只需添加import { firebaseApp, firebaseAnalytics } from './fire';到 App.tsx 的顶部就可以工作,但显然不行。我这样做错了吗?

import firebase from "firebase";
import "firebase/auth";
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";


const firebaseConfig = {
  apiKey: "xxx-xx-xx",
  authDomain: "xxx-xx-xx",
  databaseURL: "xxx-xx-xx",
  projectId: "xxx-xx-xx",
  storageBucket: "xxx-xx-xx",
  messagingSenderId: "xxx-xx-xx",
  appId: "xxx-xx-xx",
  measurementId: "xxx-xx-xx"
};

const firebaseApp = initializeApp(firebaseConfig); 
export default firebaseApp;

export const firebaseAuth = firebase.auth();

export const firebaseAnalytics = getAnalytics(); 
Run Code Online (Sandbox Code Playgroud)

应用程序.tsx

import { …
Run Code Online (Sandbox Code Playgroud)

javascript firebase ecmascript-6 reactjs

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

http_build_query替换result中的数组键

我正在尝试使用http_build_query并返回一个意外的字符串.这是我正在做的一个例子:

$timestamp = time();

$args = array("name"=>"Bob",
              "id"=>uniqid(),
              "timestamp"=>$timestamp,
              "token"=>md5('unique_salt' . $timestamp));

$query = http_build_query($args, '', '&');

echo $query;
Run Code Online (Sandbox Code Playgroud)

这就是结果:

name=Bob&id=5354a8336b3d7×tamp=1398057011&token=ba2c56005ac83d5169d173993f6a0d32
Run Code Online (Sandbox Code Playgroud)

您可以看到键"timestamp"已替换为"×tamp" - 我甚至不确定第一个字符是什么,因为它不是字母x.

我在几个不同的服务器上测试了这个,结果相同.是什么赋予了?!

php

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