我正在开发一个网站,我正在努力保护连接部分.
我使用addslashes函数$login来停止SQL注入,但有些朋友告诉我安全性不够.但是,他们没有告诉我如何利用此漏洞.
我怎么能/你能破坏这段代码?我该如何保护它?
<?php
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
{
extract($_POST);
$sql = "SELECT pseudo, sex, city, pwd FROM auth WHERE pseudo = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL');
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
if ($password == $data['pwd'])
{
$loginOK = true;
}
}
}
?>
Run Code Online (Sandbox Code Playgroud) 我正在CakePHP中创建一个Q&A应用程序,我希望在某些情况下排除我的关联.想象一下:
我在第一页上列出了所有问题,使用$ this-> Question-> findAll();. 由于我的模型中有以下关联:
public $hasMany = array('Answer' =>
array('className' => 'Answer',
'order' => 'Answer.created DESC',
'foreignKey' => 'post_id',
'dependent' => true,
'exclusive' => false,
)
);
Run Code Online (Sandbox Code Playgroud)
将在开始页面选择所有答案,这不是最佳选择.我怎么能排除这个特定方法的答案?
谢谢
我正在寻找使用C#中的winforms构建的开源应用程序.具体来说,我正在寻找使用新技术和现实技术的应用程序.喜欢asp.net的nerddinner和oxite.
谢谢
正如标题所述,在没有时间和秒数的情况下,比较DateTime的最佳方法是什么?
我不想将我的日期转换为字符串,以及类似的解决方案
DateTime.Now.Year == last.Year && DateTime.Now.Month == last.Month && DateTime.Now.Day == last.Day
非常难看.
编辑:天啊,我觉得多么愚蠢.当然,您可以使用Date属性.
"另一个问题":将DateTime与年,月,日,小时,分钟,而不是秒进行比较的最佳方法是什么?
谢谢
我目前正在使用Linq将sql作为我的OR-mapper.我的问题是我无法想出一种在多对多环境中进行粗略操作的方法.
读取部分没问题.我只是创建一个分部类并公开一个属性,使用我的关系表读取所有条目.
添加创建,更新和删除功能的最佳方法是什么?
谢谢
有没有(免费?)工具让我分析一个装配体?
这是(现在)我想要想象的东西:
我知道NDepend,但是对于我的"简单"需求感觉很重.
我正在努力掌握测试驱动的开发,我想知道这些单元测试是否合适.我有一个看起来像这样的界面:
public interface IEntryRepository
{
IEnumerable<Entry> FetchAll();
Entry Fetch(int id);
void Add(Entry entry);
void Delete(Entry entry);
}
Run Code Online (Sandbox Code Playgroud)
然后这个实现该接口的类:
public class EntryRepository : IEntryRepository
{
public List<Entry> Entries {get; set; }
public EntryRepository()
{
Entries = new List<Entry>();
}
public IEnumerable<Entry> FetchAll()
{
throw new NotImplementedException();
}
public Entry Fetch(int id)
{
return Entries.SingleOrDefault(e => e.ID == id);
}
public void Add(Entry entry)
{
Entries.Add(entry);
}
public void Delete(Entry entry)
{
Entries.Remove(entry);
}
}
Run Code Online (Sandbox Code Playgroud)
Theese是我到目前为止所写的单元测试,它们是好还是我应该做些不同的事情?我应该嘲笑EntryRepository吗?
[TestClass]
public class EntryRepositoryTests
{
private …Run Code Online (Sandbox Code Playgroud) 我试图通过构建脚本,夜间构建和持续集成等技术来掌握这个想法,但我没有看到优势.以此为例:
我们是一个开发应用程序的4人团队,没有单元测试.我们还使用Subversion进行源代码控制.
使用自定义构建脚本和持续集成等方面可以获得哪些好处?您是否"需要"单元测试?
我还可以提一下,我们在本地机器上开发,当代码工作时,我们只需更新生产服务器上的svn checkout.
我一直在使用Visual Studio 2008中的"实现界面"快捷方式.我的"问题"是我希望Visual Studio 在每个实例中使用String -alias而不是string.
因为我被迫使用String而不是字符串,这将为我节省大量的时间.例如,我想要以下内容:
public Catalogue(String url) { }
Run Code Online (Sandbox Code Playgroud)
代替
public Catalogue(string url) { }
Run Code Online (Sandbox Code Playgroud)
这可能吗?我在哪里可以找到这些模板?
如果我想连接一个字符串N次,我更喜欢哪种方法?
以此代码为例:
public static string Repeat(this string instance, int times)
{
var result = string.Empty;
for (int i = 0; i < times; i++)
result += instance;
return result;
}
Run Code Online (Sandbox Code Playgroud)
可以在"times"设置为5或5000的情况下调用此方法.我应该使用哪种方法?
的string.join?StringBuilder的?只是标准的string.Concat?
类似的功能将在商业图书馆中实施,所以我真的需要"最佳"的方式来做到这一点.
c# ×6
php ×2
.net ×1
cakephp ×1
linq-to-sql ×1
many-to-many ×1
mocking ×1
msbuild ×1
open-source ×1
security ×1
sql ×1
tdd ×1
testing ×1
unit-testing ×1
winforms ×1