小编Jac*_*cco的帖子

重写'漂亮的URL'时如何处理变音符号(重音符号)

我重写URL以包含用户生成的travelblogs的标题.

我这样做是为了URL和SEO的可读性.

 http://www.example.com/gallery/280-Gorges_du_Todra/

第一个整数是id,其余的是我们人类(但与请求资源无关).

现在人们可以编写包含任何UTF-8字符的标题,但大多数都不允许在URL中.我的听众通常都是说英语的,但是因为他们旅行,他们喜欢包括像

 Aït Ben Haddou

在Linux上使用PHP在URL中显示它的正确方法是什么?

到目前为止,我见过几种解决方案:

  1. 只是删除所有不允许的字符,替换空格这有奇怪的结果:
    'Aït Ben Haddou' ? /gallery/280-At_Ben_Haddou/
    不是真的有用.

  2. 只是删除所有不允许的字符,替换空格,离开charcode(stackoverflow.com)最有可能因为使用'正则表达式'
    这会产生奇怪的结果: 'tést tést' ? /questions/0000/t233st-t233st

  3. 转换为"最接近的等价物"
    'Aït Ben Haddou' ? /gallery/280-Ait_Ben_Haddou/
    但这对德国人来说是错误的; 例如'ü'应该音译'ue'.

对我来说,作为一个荷兰人,第三个结果"看起来"是最好的.
但我很确定(1)很多人会有不同的看法,(2)在德国的例子中,这是完全错误的.

第3个选项的另一个问题是:如何找到可以转换为7位等效的所有可能字符?

所以问题是:

  1. 在您看来,什么是最理想的结果.(在技术限制范围内)

  2. 如何从技术上解决它.(用PHP获得所需的结果).

php url-rewriting diacritics

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

有效地检测损坏的jpeg文件?

有没有一种有效的方法来检测jpeg文件是否已损坏?

背景信息:
  解决方案需要在php脚本
  中工作jpeg文件在磁盘上
  手动检查是没有选项(用户上传的数据)

我知道imagecreatefromjpeg(string $filename);可以做到.但这样做很慢.

有人知道更快/更有效的解决方案吗?

php jpeg corruption

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

在闭包表分层数据结构中对子树进行排序

我想请你帮我解决存储为闭包表的分层数据结构的问题.

我想用这个结构来存储我的网站菜单.一切正常,但问题是我不知道如何按自定义顺序对确切的子树进行排序.目前,树按照项目添加到数据库的顺序排序.

我的结构基于Bill Karwin关于Closure Tables 的文章以及其他一些帖子.

这是我的MySQL数据库结构,包含一些DEMO数据:

--
-- Table `category`
--

CREATE TABLE IF NOT EXISTS `category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) COLLATE utf8_czech_ci NOT NULL,
  `active` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;


INSERT INTO `category` (`id`, `name`, `active`) VALUES
(1, 'Cat 1', 1),
(2, 'Cat 2', 1),
(3, 'Cat  1.1', 1),
(4, 'Cat  1.1.1', 1),
(5, 'Cat 2.1', 1),
(6, 'Cat 1.2', 1),
(7, …
Run Code Online (Sandbox Code Playgroud)

mysql hierarchical-data transitive-closure-table

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

PHP的error_log()vs syslog()

我正在尝试确定用于记录自定义文件的功能.

背景
我们有几个PHP进程,它们都以Apaches(mod_php)和Deamons(CLI,forked)运行.我希望能够为每个要写入的进程/任务指定一个日志文件.对于作为Deamons的Apache进程,多个进程将写入同一文件.

选项
PHP提供error_log()syslog().两者似乎提供或多或少相同的功能.

我的问题

  • 这些功能的优点和缺点是什么?
  • 哪一个选择?(为什么?)
  • 如果我删除多个文件的要求怎么办?

php error-logging syslog

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

如何通知某人他们的网站容易受到SQL注入攻击?

原始问题:
我们的联盟合作伙伴有一个易受SQL注入攻击的网站.

我们意外地注意到了这一点(URL中的拼写错误引发了一个非常有用的错误页面).

现在我们不太了解这个联盟合作伙伴.一周前我们开始与他们做生意.他们自己的技术技能很少; 他们的网站是由第三家"做网站"的公司为他们开发的.

现在很明显我们应该警告他们这个问题.但我们有点担心,如果我们告诉他们这个问题,他们会害怕,不再相信我们(拍摄信使让问题消失).

你有没有遇到过这种情况?你做了什么?

另外一点是:
因为开发网站的公司似乎根本没有进行输入验证/消毒,我们对这家公司没有太大的信心.虽然这不是我们关心的问题,但我们认为我们应该警告我们的联盟合作伙伴,因为他们的系统其他部分可能缺乏安全性和质量.这将使我们与他们的开发人员正面交锋,我们不想让他们参与我们的情况.

我们是否应该通知他们我们的其他问题?或者你建议让它成为现实?



更新:
那么,怎么回事?

我们向他们通报了现有问题,包括背景信息,详细的错误报告,并试图用简单的人类语言解释问题是什么以及为什么它是严重的.

他们感谢我们,将这些信息传递给他们的网站开发人员,后者已修复它.
我们不太确定修复的质量,但我们无能为力,这不是我们的责任.(虽然它确实感觉到我们的责任,但自从我们报告以来更是如此).

然而,这种关系发生了变化.它们不那么开放,之前有更多的保留.我们希望将来会有更好的改变,但是确实报告这个问题会损害这种关系中的信任.

因此,如果您发现自己处于相同的位置,请小心,花些时间来解释问题,并为不太理想的响应做好准备.

sql-injection

12
推荐指数
3
解决办法
1013
查看次数

有什么区别:image/x-citrix-pjpeg和image/pjpeg

使用报告的MIME类型上载某些文件:

image/x-citrix-pjpeg
Run Code Online (Sandbox Code Playgroud)

它们是有效的jpeg文件,我接受它们.

我想知道:为什么MIME类型不同?
格式有什么不同吗?或者这种mimetype是由Citrix的一些灯泡发明的,没有明显的原因?

jpeg citrix mime-types

11
推荐指数
2
解决办法
6687
查看次数

第一顺序......那么GROUP BY

我有两个表,一个存储用户,另一个存储用户的电子邮件地址.

  • 表用户:( ,userId,)usernameetc
  • 表USEREMAIL:( , emailId,)userIdemail

我想做一个查询,允许我获取最新的电子邮件地址和用户记录.
我基本上是在寻找一个查询

FIRST ORDER BY userEmail.emailId DESC 
THEN GROUP BY userEmail.userId
Run Code Online (Sandbox Code Playgroud)

这可以通过以下方式完成:

SELECT 
  users.userId
, users.username
, (
     SELECT 
       userEmail.email
     FROM userEmail
     WHERE userEmail.userId = users.userId
     ORDER BY userEmail.emailId DESC
     LIMIT 1
  ) AS email
FROM users
ORDER BY users.username;
Run Code Online (Sandbox Code Playgroud)

但是这会为每一行做一个子查询,效率非常低.(在我的程序逻辑中,做两个单独的查询并将它们"加入"在一起会更快.


为我想要的东西写的直观查询将是:

SELECT 
  users.userId
, users.username
, userEmail.email
FROM users
LEFT JOIN userEmail USING(userId)
GROUP BY users.userId
ORDER BY 
  userEmail.emailId
, users.username;
Run Code Online (Sandbox Code Playgroud)

但是,这不符合我的意愿.(GROUP BY在排序之前执行,因此ORDER …

mysql sql

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

robots.txt的; 什么编码?

我即将创建一个robots.txt文件.

我正在使用记事本.

我该如何保存文件?UTF8,ANSI还是什么?

还应该是资本R吗?

在文件中,我指定了一个站点地图位置.这应该是资本S吗?

  User-agent: *
  Sitemap: http://www.domain.se/sitemap.xml
Run Code Online (Sandbox Code Playgroud)

谢谢

search robots.txt

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

在MySQL中获取累积和的最佳查询

在MySQL中获取累积总和的"正确"查询是什么?

我有一个表格,我保存有关文件的信息,一列列表包含文件的大小(以字节为单位).(实际文件保存在某处的磁盘上)

我想得到这样的累积文件大小:

+------------+---------+--------+----------------+
| fileInfoId | groupId | size   | cumulativeSize |
+------------+---------+--------+----------------+
|          1 |       1 | 522120 |         522120 |
|          2 |       2 | 316042 |         316042 |
|          4 |       2 | 711084 |        1027126 |
|          5 |       2 | 697002 |        1724128 |
|          6 |       2 | 663425 |        2387553 |
|          7 |       2 | 739553 |        3127106 |
|          8 |       2 | 700938 |        3828044 |
|          9 | …
Run Code Online (Sandbox Code Playgroud)

mysql sql query-optimization

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

使用PHP实现双向加密的最佳方法是什么?

我想在PHP中使用双向加密来加密我网站上的密码.我遇到了mcrypt库,但它看起来很麻烦.任何人都知道任何其他方法更容易,但又安全吗?我可以访问Zend Framework,因此使用它的解决方案也可以.

我实际上需要双向加密,因为我的客户端想要进入数据库并更改密码或检索它.

php security encryption passwords

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