小编Sta*_*tan的帖子

PDO查询 - 从SQL注入是否安全?

我一直在阅读并询问有关SQL注入安全查询的问题,每个人都说我应该使用PDO,所以我只启用了我的MYSQL PDO扩展并进行了简单的查询.

所以这是我的代码:

public static function Add($catName, $catDescr = "", $catImgURL = "", $catSubLevel = 0, $catSubID = 0)
{

    try
    {
        include_once "db_config.php";
        $DBH = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
        $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );  
        $STH = $DBH->prepare("INSERT INTO cat (catName, catDescr, catImg, catSubLevel, catSubID)
                              VALUES ('$catName', '$catDescr', '$catImgURL', $catSubLevel, $catSubID)");

        $STH->execute();
    }
    catch (PDOException $e)
    {
        echo $e->getMessage();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以一切正常并且看似安全,但是当我做这样的事情时:

Cat::Add("Test Cat", "' OR 1==1 --");
Run Code Online (Sandbox Code Playgroud)

它给了我

警告:PDOStatement :: execute()[pdostatement.execute]:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第25行的www\mCat.php第2行'== 1 - ','',0,0)附近使用正确的语法

我想这是因为我添加$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); …

php pdo sql-injection

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

使EF在App_Data文件夹中使用本地数据库

我在使用Entity Framework的所有项目中使用POCO方法.这一切都很好,但我有一个问题:它在我的SQL Express上创建数据库,而不是我希望它将我的数据库存储在App_Data文件夹中的*.mdf文件中.

c# asp.net entity-framework

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

将链接高度设置为其父级的100%

如果我有分区height: 100px;并且它包含一个链接 - 我可以使链接填充分区的高度而不用硬编码值吗?

<div><a href="#">hello</a></div>

div {
    height: 100px;
    width: 100px;
    background: red;
}

a {
    background: green;
    height: 100%; /* This does not work. Is it possible to set this height to 100% of container? */
}
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/nPL65/

css height

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

将元素放在一切之上

我有个问题.我希望我footer能够在我的页面中处理其他所有可能的事情.诀窍是,我使用的广场插件,它有它自己的风格,因为即使我把某种原因,z-index: 99999;我footer现在还没有在上面.

这是galleria容器,插件的主要部分.

.galleria-container {
    overflow: hidden;
    width: 960px; /* This value is changed by JS */
    height: 520px; /* This value is changed by JS */
    min-width: 960px;
}
Run Code Online (Sandbox Code Playgroud)

这是我的页脚容器

#footer
{
    z-index: 9999;
    width: 700px;
    height: 500px;
    position: absolute;
    background-color: aqua;
}
Run Code Online (Sandbox Code Playgroud)

哦,所以当我加载我的网站它很好,我可以看到我的页脚,但当我调整窗口,从而执行此代码,它再次隐藏.

$(".galleria-container").css("width", $(window).width());
$(".galleria-container").css("height", $(window).height());
Run Code Online (Sandbox Code Playgroud)

html css jquery

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

C++创建对象数组(来自不同的类)

我需要创建一个包含多个类对象的数组.

例

class baseClass
{
   //
};

class first : baseClass
{
   //
};

class second : baseClass
{
   //
};
Run Code Online (Sandbox Code Playgroud)

如何创建可以在其中保存first和/或second对象的数组?

这对我来说有点像家庭任务,所以我被迫使用数组,我已经搜索并知道它是用升级库来完成的,但我在这里没有选择......

c++ class

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

如何设置ActionExecutingContext状态代码

我正在使用本地化actionfilterattribute,它工作得很好,除了我需要它重定向/到/en状态代码301而不是302.我怎样才能解决这个问题?

码

public class Localize : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        // .. irrelevent logic here ..

        // Set redirect code to 301
        filterContext.HttpContext.Response.Status = "301 Moved Permanently";
        filterContext.HttpContext.Response.StatusCode = 301;

        // Redirect
        filterContext.Result = new RedirectResult("/" + cookieLanguage);

        base.OnActionExecuting(filterContext);
    }
}
Run Code Online (Sandbox Code Playgroud)

证明

在此输入图像描述

c# asp.net asp.net-mvc asp.net-mvc-4

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

控制器类型{1}上的当前操作请求{0}不明确

我有两个动作,我想要我的路线/users和/users/{id}不同.但它会引发我的错误.

是否有可能实现这种排序而无需手动创建每个路径,我将有其他控制器将遵循类似的模式,并为所有这些编写自定义路线似乎是多余的和一般的坏主意.

错误

控制器类型'UsersController'上的当前操作请求'Index'在以下操作方法之间是不明确的:System.Web.Mvc.ActionResult类型Api.Controllers.UsersController上的Index()System.Web.Mvc.ActionResult索引(Int32)在类型Api.Controllers.UsersController上

码

public class UsersController : Controller
{
    public ActionResult Index()
    {
        return null;
    }

    public ActionResult Index(int id)
    {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# rest asp.net-mvc routes asp.net-mvc-4

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

Visual Studio 2012 - 隐藏解决方案资源管理器中的文件夹?

是否可以在Visual Studio 2012解决方案资源管理器窗口中隐藏文件夹?我有多个我不打算使用的文件夹/文件,它们只是弄乱了界面,而且很难找到东西.

您可以切换"显示隐藏文件",但实际上无法隐藏任何文件,这似乎非常不合逻辑.

例

在此输入图像描述

为什么

WebApi项目包括我想要使用的自动化帮助生成,但它包含需要运行的多个文件夹.所有我关心的是控制器/模型,因为我正在构建Api本身.但是如果我从项目中删除/删除那些文件,那么帮助生成器将无法工作.

visual-studio visual-studio-2012

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

如何在自引用关系上设置级联?

我有默认场景,你有Category自己,RootCategory和ChildCategories.如何指定我的流畅模型构建器以在删除时级联所有子类别?

模型

public class Category
{
    public int Id { get; set; }
    public string Name { get; set; }

    public virtual Category RootCategory { get; set; }
    public virtual ICollection<Category> ChildCategories { get; set; }
    public virtual ICollection<Item> Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我试过了什么

我试图使用流畅的模型构建器,但是当我尝试更新数据库时,这个会出错.

在表'类别'上引入FOREIGN KEY约束'FK_dbo.Categories_dbo.Categories_RootCategory_Id'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Category>().HasOptional(x => x.RootCategory).WithMany(x => x.ChildCategories).WillCascadeOnDelete(true);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-5

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

JSON Lint说它有效但JSON.parse会抛出错误

我有简单的JSON,我需要解析对象.奇怪的是,即使我将我的JSON字符串复制并粘贴到JSONLint(http://jsonlint.com/),它也会起作用,但它会显示它是有效的.

var string = '{"token":"9eebcdc435686459c0e0faac854997f3","email":"201403050007950","id":"13","updated_at":"2014-03-05 10:34:51","messageguides":"[{\"name\":\"Un-named Messaging Guide 1\",\"pages\":[\"sustainabilitydirectors\",\"marketingnbusinessdevelopmentdirectors\"],\"date\":1394015692958}]"}';

var obj = JSON.parse(string); // Unexpected token n

console.log(obj);
Run Code Online (Sandbox Code Playgroud)

javascript json

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