小编fru*_*cup的帖子

iOS - 从底部错误地推送segue

我有一个带有标识符"LoginSegue"的推送Segue,它意味着从"Login View Controller"转换为"View Controller".

这是我的故事板: 故事板 这是塞格:

SEGUE

用户成功登录后,我从LoginViewController中调用以下内容:

performSegueWithIdentifier("LoginSegue", sender: self)
Run Code Online (Sandbox Code Playgroud)

为了从"登录视图控制器"转换到"视图控制器".

我希望这种转换是从右到左发生的,因为它是Push segue,但由于某种原因它从底部到顶部发生.

我该如何纠正这种行为?

iphone storyboard ios segue swift

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

密码"盐" - 我做得对吗?

我开始想,也许我的登录系统不如我想象的那么安全.首先,我将用语言向你解释我在做什么.

当用户注册时,会生成一个16个字符的salt.我将盐存储在数据库中的一个名为"salt"的字段中我将散列密码+ salt(它们被散列在一起hash("sha256", $salt.$password);)存储在一个名为"password"的字段中

当用户尝试登录时,我从数据库中获取"密码"字段和"盐"字段,以及其他一些内容.

要检查他们是否正确输入了密码,我这样做:

$hashed = hash("sha256", $row['salt'].$pass);
if ($row['password'] == $hashed) {
//success
Run Code Online (Sandbox Code Playgroud)

($ row是数据库中的fetched数组.$ row ['salt']是数据库中的salt,$ pass是他们输入的密码,$ row ["password"]是数据库中的散列传递+ salt )

我在想,而且在我看来,我的盐提供的安全性很小(或没有).我向你们提出的问题就是:我的方法是否提供了额外的安全性(或者甚至是安全的吗?)

另外,我有第二个'问题'.我想验证这个"检查登录"脚本不能被欺骗/欺骗,以便在没有密码的情况下进入某人的帐户.

session_start();
require_once 'db_connect.php';
//If the session variable "id" isn't set (i.e. they aren't logged in)
if (!isset($_SESSION['id'])) { 
    //Check if they wanted to be "remembered" (so they have 2 cookies
    if (isset($_COOKIE['rem_user']) && isset($_COOKIE['rem_pass'])) 
    { 
        $query = "SELECT 
                      id, 
                      password, 
                      auth, 
                      email, 
                      username 
                  FROM users 
                  WHERE 
                      username='".$_COOKIE['rem_user']."' 
                  AND active IS NULL" …
Run Code Online (Sandbox Code Playgroud)

php mysql encryption session login

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

Javascript意外的令牌ILLEGAL

我有一个PHP脚本(fetchData.php),它获取一些数据并将其输出到页面.

<?php 
require 'config.php'; 
require 'jsonapiSDK.php';
$api = new JSONAPI($ip_address, $jsonapi_port, $username, $password, $salt);
$response = $api->call('BWMFunction');
echo(addslashes($response["success"].";")); 
?>
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到输出:http://justicecraft.net/worldmap/fetchData.php 我有另一个页面使用XMLHttpRquest来获取fetchData.php的响应这里是它的JavaScript.它应该接受响应,并且eval()它(创建一个名为BWMFunction的数组)然后将该数组传递给我拥有的另一个函数.当我尝试eval()响应时发生非法令牌错误.

function fetchData() {
    var xmlhttp;
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            res = xmlhttp.responseText;
            alert(res);
            eval(res);
            generate(BWMFunction);
        }
    }
    xmlhttp.open("GET", "fetchData.php", true);
    xmlhttp.send(); …
Run Code Online (Sandbox Code Playgroud)

javascript xmlhttprequest token

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

编写基于PHP的工具 - 我应该使用框架吗?

我正在制作一个非常具体的"控制面板",用于组织信息,记录统计数据,发送警报等等.

我最初的计划是使用CakePHP来实现它.我试过Cake,虽然我认为它真的很棒,但我真的很讨厌它,因为它是"自动化的".在我不知情的情况下,我不喜欢它如何做到这一切.昨天我换了CodeIgniter,因为朋友告诉我试试吧.我更喜欢CI,但是使用PHP框架感觉不对.对我来说,它感觉不够自由或足够灵活.

我的问题: 我应该继续尝试使用框架,还是应该构建一个"半框架",使某些事情变得更容易(布局,表单验证,本地化)?

我可以补充一点,我已经创建了一个安全的身份验证系统(好吧,我认为它是安全的,但这是针对不同的讨论:P)在这个网站上实现相当简单.

php codeigniter

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

创建表单(没有表单设计器)

我有一个(我认为是)非常简单的问题,但我正在扯掉我的头发:

在我的主类中,在main方法中,我有以下代码:

Form window = new Form();
window.FormBorderStyle = FormBorderStyle.None;
window.BackgroundImage = blurred; //blurred is a Bitmap
window.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height); //bounds is a Rectangle
window.Show();
Run Code Online (Sandbox Code Playgroud)

这是尝试使用背景图像创建无边框窗口.我运行代码并且没有错误 - 但是没有表单出现.

我究竟做错了什么?

c# visual-studio-2010 winforms

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

WebGL模板缓冲区仅在Firefox中有效

我在WebGL中使用了模板缓冲区.这在Firefox中运行良好,但在Chrome(以及Internet Explorer)中也失败了.除了模板被忽略之外,应用程序的其余部分继续正常运行而没有错误.

左:Firefox,右:Chrome

这里Firefox正确创建模板,因此绿色矩形在其中呈现孔.这是一个jsFiddle演示:http://jsfiddle.net/XH9eC/3/

我打开模板模式并关闭颜色模板:

gl.colorMask(gl.FALSE, gl.FALSE, gl.FALSE, gl.FALSE);
gl.stencilFunc(gl.ALWAYS, 1, 0xFF);
gl.stencilOp(gl.REPLACE, gl.REPLACE, gl.REPLACE);
Run Code Online (Sandbox Code Playgroud)

然后我在屏幕中间渲染方块

然后我改变了模板模式并打开颜色:

gl.colorMask(true, true, true, true);
gl.stencilFunc(gl.EQUAL, 0, 0xFF);
gl.stencilOp(gl.ZERO, gl.ZERO, gl.ZERO)
Run Code Online (Sandbox Code Playgroud)

最后我渲染了绿色背景.

如果重要,这是我用来渲染背景和方形模板的代码(我只是使用不同的顶点):

var background = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, background);
gl.vertexAttribPointer(position_location, 2, gl.FLOAT, false, 0, 0);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
    0, 0,
    800, 600,
    0, 600,
    0, 0,
    800, 0,
    800, 600
]), gl.STATIC_DRAW);
Run Code Online (Sandbox Code Playgroud)

我用其他代码遇到了这个问题,还没有解决它.我已经看到了Chrome中使用的模板缓冲区的其他示例.

javascript firefox google-chrome stencil-buffer webgl

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