我有一个网站,用户可以上传他们的文件; 这些存储在服务器上,其元数据记录在数据库中.我正在实现一些简单的完整性检查,即"这个文件的内容现在是逐字节的,与上传时相同吗?"
一个例子:对于内容userfile.jpg
,MD5哈希是39f9031a154dc7ba105eb4f76f1a0fd4
和SHA-1哈希是878d8d667721e356bf6646bd2ec21fff50cdd4a9
.如果此文件的内容发生更改,但前后具有相同的MD5哈希值,则SHA-1哈希值是否也可能保持不变?(使用散列,有时你可以得到哈希冲突 - 这可能会同时发生两种不同的哈希算法吗?)
或者为一个文件计算两个不同的哈希值没有意义(我应该尝试其他一些机制来验证完整性)?
编辑:我并不是真的担心意外腐败,但我应该阻止用户不加注意地改变文件(生日攻击和朋友).
我可能会选择一个哈希值SHA-512 - 这种检查通常不会成为性能瓶颈,无论如何,"正如Bruce Schneier所说,已经存在足够快速,不安全的系统. - @ MichaelGG评论".
在我们公司内部,我们使用专有模板引擎,将其模板存储在MySQL数据库中.我们最近为此开发了一个WebDAV接口,它允许我们使用标准工具来编辑它们,而不是讨厌<textarea>
.
标准的操作系统webdav客户端并不是很好,所以对于OS/X,我们选择了Coda,它具有惊人的WebDAV支持并为我们节省了大量时间.
我们的一些开发人员在Windows上,是否有人知道一个内置WebDAV支持的优秀编辑器?
我有一个像这样的列的表:
| Country.Number | CountryName |
| US.01 | USA |
| US.02 | USA |
Run Code Online (Sandbox Code Playgroud)
我想将其修改为:
| Country | Number | CountryName |
| US | 01 | USA |
| US | 02 | USA |
Run Code Online (Sandbox Code Playgroud)
关于优化,如果我使用,性能是否有差异:
select * from mytable where country.number like "US.%"
Run Code Online (Sandbox Code Playgroud)
要么
select * from mytable where country = "US"
Run Code Online (Sandbox Code Playgroud) 我是php新手(从1周开始学习).我在学习数组.在做的时候,我发现了一个api,它以多维数组的形式给出结果..而且我无法回显数组的值.
样品回复
Array
(
[query] => Array
(
[count] => 1
[created] => 2010-07-16T08:35:38Z
[lang] => en-US
[results] => Array
(
[item] => Array
(
[rel] => rel:Person
[resource] => http://twitter.com/twitter
[meta] => Array
(
[0] => Array
(
[property] => foaf:name
[content] => Twitter
)
)
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
我可以回应一些价值观
echo $array["query"]['count']."<br />";
echo $array["query"]["results"]["item"]["resource"];
Run Code Online (Sandbox Code Playgroud)
但是,当我想使用的时候 [meta] => Array
我无法使用:(
echo $array["query"]["results"]["item"]["resource"]["meta']["0"["content"];
Run Code Online (Sandbox Code Playgroud)
请指导我
我想提取 html 标签之间的字符串,并使用 google api 将其转换为其他语言,并在字符串后附加 html 标签。
例如,
<b>This is an example</b>
Run Code Online (Sandbox Code Playgroud)
我想提取字符串“这是一个示例”并将其转换为其他语言,然后再次附加带有粗体标记的字符串。
有人知道如何继续吗?
问候雷卡
abc @ localhost(server)中的数据库abc_db中有一个表employee,xyz @ localhost(server)中的数据库xyz_db中有另一个表部门.如何使用php mysql连接加入表.我编写了以下代码,但它不生成任何资源ID.
$conn = mysql_connect("localhost","abc","abcdb");
$conn1 = mysql_connect("localhost","xyz","xyzdb");
$db_select=mysql_select_db("abc_db",$conn);
$db_select1=mysql_select_db("xyz_db",$conn1);
$sql="SELECT * FROM employee e LEFT JOIN department d ON e.department_id=d.id ";
$res=mysql_query($sql);
Run Code Online (Sandbox Code Playgroud) 我的应用程序有一个表单,用户可以上传CSV文件(其5个内部用户始终上传有效文件 - 逗号分隔,引用,记录以LF结尾),然后使用PHP将文件导入数据库:
$fhandle = fopen($uploaded_file,'r');
while($row = fgetcsv($fhandle, 0, ',', '"', '\\')) {
print_r($row);
// further code not relevant as the data is already corrupt at this point
}
Run Code Online (Sandbox Code Playgroud)
由于我无法更改的原因,用户正在上载Windows-1250
charset中编码的文件- 单字节,8位字符编码.
问题:并且有一些(不是全部!)字符超过127("扩展ASCII")fgetcsv()
.示例数据:
"15","Ústav"
"420","Špi?ák"
"7","Tma?"
Run Code Online (Sandbox Code Playgroud)
变
Array (
0 => 15
1 => "stav"
)
Array (
0 => 420
1 => "pi?ák"
)
Array (
0 => 7
1 => "Tma"
)
Run Code Online (Sandbox Code Playgroud)
(注意?
保留,但Ú
被删除) …
我有一个目前用英语的网站; 我希望能够在用户点击其他语言时切换到其他语言(网站上有很少的国家/地区标志图标).我目前正在尝试的方式是使用数组,例如:
$english = array('index',
array('h1' => 'this is some h1 text',
'h2' => 'this is some h2 text'));
$japanese = array('index',
array('h1' => '????????',
'h2' => ??????'));
print $english[index][h1];
print $japanese[index][h2];
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,如果我使用单独的语言为每个页面执行此操作,那将是一个疯狂的代码量.我可以尝试其他什么方法?
我继承了一个应用程序,用户可以在其中插入自己的HTML响应。我只能为此应用设置一个全局CSS文件和一个全局JS文件。最近,一些用户唤醒了一个古老的恶魔,称为<marquee>
和<blink>
标签。
我无法去除输入或输出中的标签,至少可以使用CSS规则撤消它们吗?
blink {
text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
上面摆脱了闪烁效果,是否有类似的方法可以禁用CSS的字幕效果?
如果情况变得更糟,我可以使用marquee { display:none }
,但是有时用户会在该标签中添加有用的信息;我那里没有足够的杠杆作用来争辩“如果是字幕,按照定义就不重要了”(在其他地方已经足够近似)。
还是我想通过技术手段解决非技术问题,我应该对(内部)用户进行“不应该被调用的邪恶”教育吗?
事实证明,没有纯CSS的跨浏览器解决方案。我必须更努力地使用JS方式-可能用跨距替换字幕。