小编Pro*_*irl的帖子

如何将MySQL行设置为READ-ONLY?

我在表中有一行我不想改变(永远).

是否可以将MySQL行设置为READ-ONLY,以便无法以任何方式更新?如果是这样,怎么样?

如果没有,是否可以在该行的一列中设置永久值,以便不能更改?如果是这样,怎么样?

谢谢.

mysql sql database

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

如何在JOIN查询中更快地进行ORDER BY?我没有尝试过任何工作

我有以下JOIN查询:

SELECT
    table1.*, 
    table2.*
FROM 
    Table1 AS table1 
LEFT JOIN 
    Table2 AS table2 
USING 
    (col1)
LEFT JOIN 
    Table3 as table3 
USING 
    (col1) 
WHERE 
    3963.191 * 
    ACOS(
    (SIN(PI() * $usersLatitude / 180) * SIN(PI() * table3.latitude / 180)) 
    +
    (COS(PI() * $usersLatitude / 180) * COS(PI() * table3.latitude / 180) * COS(PI() * table3.longitude / 180 - PI() * 37.1092162 / 180))
    ) <= 10 
AND 
    table1.col1 != '1' 
AND 
    table1.col2 LIKE 'A' 
AND 
    (table1.col3 LIKE 'X' OR table1.col3 LIKE 'X-Y') …
Run Code Online (Sandbox Code Playgroud)

mysql join sql-order-by query-optimization

20
推荐指数
2
解决办法
1895
查看次数

如何解码&amp; 从URL,以便header()工作(urldecode无法正常工作)

我有以下网址: $url = 'http://mysite.com/?p=welcome&amp;x=1&amp;y=2';

我需要解码它以便header("Location: $url");实际工作.

但是,使用urldecode($url)不起作用,因为它没有解码&amp;- > &因此浏览器被重定向到http://mysite.com/?p=welcome&amp;x=1&amp;y=2失败.

我需要它来解码,使它看起来像: http://mysite.com/?p=welcome&x=1&y=2

我怎么做?

php header decoding urldecode

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

如何在MySQL中构建一个非常简单的博客表?

我想在我现有的一个LAMP网站上添加一个非常简单的博客功能.它将与用户现有的个人资料相关联,他们可以在博客中为每个帖子输入标题和正文,日期将在提交时自动设置.他们可以随时编辑和删除任何博客文章和标题.博客将显示从最近到最旧,可能是20个帖子到一个页面,并在其上方有适当的分页.其他用户可以在每个帖子上留下评论,博客所有者可以将其删除,但不能预先评论.基本上就是这样.就像我说的,非常简单.

我应该如何为此构建MySQL表?

我假设因为会有博客文章和评论,我需要一个单独的表格,这是正确的吗?但是,我需要在每个表中使用哪些列,我应该使用哪些数据结构,以及如何将两个表链接在一起(例如,任何外键)?

我找不到任何类似这样的教程,我想要做的是真正为我的用户提供最简单的博客版本.没有标签,没有审核,没有图像,没有花哨的格式等等.只是一个简单的日记型,纯文本博客,其他用户评论.

mysql database blogs database-design

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

如何配置子目录的.htaccess,以便它完全忽略任何父目录的.htaccess?

如何配置子目录的.htaccess,以便它完全忽略任何父目录的.htaccess?

不只是任何重写规则,而是一切.

.htaccess

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

无法通过HTTPS进行file_get_contents或cURL

我多年来一直file_get_contents用来抓住网站的内容.

最近,他们更新了他们的URL HTTPSfile_get_contents停止了工作.

我已经阅读过以前的问题并尝试过标记的解决方案,但没有任何效果.

例如,我试过这个,它返回以下内容:

openssl: yes http wrapper: yes https wrapper: yes wrappers: array ( 0 => 'https', 1 => 'ftps', 2 => 'compress.zlib', 3 => 'compress.bzip2', 4 => 'php', 5 => 'file', 6 => 'data', 7 => 'http', 8 => 'ftp', 9 => 'zip', )
Run Code Online (Sandbox Code Playgroud)

于是我尝试这个解决方案file_get_contents,但没有成功.

然后,我尝试这种解决方案具有cURL完全忽略加密,无济于事

无论我尝试哪种解决方案,都不会返回任何内容.

我还没有加入extension=php_openssl.dll,并allow_url_include = OnPHP.ini按照 …

php https curl file-get-contents

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

如何持续保持与本年度硬件相关的bcrypt轮数?

我看到一个建议,即轮数的数量应该($currentYear - 2000)考虑到摩尔定律,因此2013年将是13轮次,因此2^13总迭代次数.当然,你需要考虑你自己的硬件,以确保它不会花太长时间(我看到1 second建议用"检查密码/哈希"的"安全",并且在我当前的硬件上有13个回合落在那个标记上).

对于社交网络类型的网站来说这听起来合理吗?或者,我是否会通过使用将自己设置为非常慢的密码检查($currentYear - 2000)

另外,你如何处理从一年到下一年的轮数改变?不会改变轮数改变哈希值,因此不允许你在2014年检查哈希,因为支票将使用额外一轮?您是否必须每年重新计算每一个哈希值,或者它将如何正常工作?

php security passwords bcrypt

9
推荐指数
2
解决办法
2970
查看次数

对于PHP 5.3,建议使用哪种bcrypt实现?

好的,我终于理解了bcrypt,它是如何工作的,以及如何将它存储在数据库中,所以我几乎要好好去.现在的问题是选择使用哪种bcrypt实现与PHP 5.3.

我疯狂地看着所有不同的解决方案,我不确定哪一个是最推荐和最安全的,所以我再次转向你们.

以下是我发现的:

1)https://gist.github.com/marcoarment/1053158

2)http://www.openwall.com/phpass/

3)/sf/answers/443591501/

4)......别的什么?

这些可以互换,还是产生不同的哈希?我想认为,既然它们都是"bcrypt",他们会产生相同的结果,但我不知道(我测试1)2)以上,他们似乎是可互换的,因为所生产的散列1)上确认2)).

那么PHP的推荐解决方案是5.3什么?

php passwords hash bcrypt password-encryption

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

当LAMP服务器上有数百万用户时,存储和获取图像的最快和最有效的方法是什么?

这是我到目前为止提出的最好的方法,我想知道是否有更好的方法(我确定有!)用于存储和获取数百万用户图像:

为了保持目录大小不变并避免对数据库进行任何其他调用,我使用的嵌套目录是根据用户的唯一ID计算的,如下所示:

$firstDir = './images';
$secondDir = floor($userID / 100000);
$thirdDir = floor(substr($id, -5, 5) / 100);
$fourthDir = $userID;
$imgLocation = "$firstDir/$secondDir/$thirdDir/$fourthDir/1.jpg";
Run Code Online (Sandbox Code Playgroud)

用户ID($userID)的范围从1到数百万.

因此,如果我有用户ID 7654321,那么该用户的第一张照片将存储在:

./images/76/543/7654321/1.jpg
Run Code Online (Sandbox Code Playgroud)

对于用户ID 654321:

./images/6/543/654321/1.jpg
Run Code Online (Sandbox Code Playgroud)

对于用户ID 54321,它将是:

./images/0/543/54321/1.jpg
Run Code Online (Sandbox Code Playgroud)

对于用户ID 4321,它将是:

./images/0/43/4321/1.jpg
Run Code Online (Sandbox Code Playgroud)

对于用户ID 321,它将是:

./images/0/3/321/1.jpg
Run Code Online (Sandbox Code Playgroud)

对于用户ID 21,它将是:

./images/0/0/21/1.jpg
Run Code Online (Sandbox Code Playgroud)

对于用户ID 1,它将是:

./images/0/0/1/1.jpg
Run Code Online (Sandbox Code Playgroud)

这确保了最多100,000,000个用户,我将永远不会拥有超过1,000个子目录的目录,因此它似乎可以保持干净和高效.

我使用以下"哈希"方法对此方法进行基准测试,该方法使用PHP中可用的最快哈希方法(crc32).此"哈希"方法将第二个目录计算为用户ID哈希值中的前3个字符,将第三个目录计算为下一个3个字符,以便随机分布文件,但如下所示:

$hash = crc32($userID);
$firstDir = './images';
$secondDir = substr($hash,0,3);
$thirdDir = substr($hash,3,3);
$fourthDir = $userID;
$imgLocation = "$firstDir/$secondDir/$thirdDir/$fourthDir/1.jpg";
Run Code Online (Sandbox Code Playgroud)

但是,这种"哈希"方法比我前面描述的方法慢,所以它没有用.

然后,我进一步发现了一个更快的方法来计算我的原始示例(floor(substr($userID, -5, 5) / …

php linux directory lamp image

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

考虑到每条消息应用标签,2人如何使用相同的Gmail帐户并过滤每个用户的传入电子邮件?

所以这个是一个严肃的头脑,它比乍一看更难以解决.

我有一个经营小企业的客户.他们是夫妻团队,使用Gmail和Gmelius插件来运营他们的业务.丈夫和妻子都通过Gmail 使用相同的电子邮件帐户.丈夫负责销售,妻子在销售完成后为客户组织服务.他们为所有这些使用相同的电子邮件地址,他们回答所有电子邮件作为妻子(甚至是丈夫写的销售人员),以保持一切简单.

丈夫希望能够搜索Gmail只需要回复的所有电子邮件(预售),这样他就可以解决那些没有看到妻子必须回复的任何电子邮件(售后)的问题. .妻子希望能够对她只需要照顾的电子邮件做同样的事情.

这是我试图为他们解决这个问题.因为他们使用基于对话的Gmelius,所以当丈夫将其传递给妻子时,Gmail中的对话必须保持不变(例如,在客户关闭后).所以这是一个重要的约束.我尝试过的第一个,最明显和"直观"的解决方案是简单地使用标签,当他们的网站服务器进行新的查询时,Gmail过滤器会添加丈夫未从会话中删除的"丈夫"标签直到客户关闭,其想法是丈夫可以通过简单搜索来解决他所有的电子邮件,in:inbox label:Husband妻子可以通过简单搜索来解决所有电子邮件in:inbox -label:Husband.

很简单吧? 错误! 这不起作用,因为Gmail会为每条消息分配标签,而不是按会话分配标签.因此,当第一个查询从服务器进入时,会自动添加"丈夫"标签进行过滤,这只是第一个实际获得"丈夫"标签的消息.夫妻在同一会话客户之间的所有后续消息并没有实际拥有的"丈夫"标签(即使谈话还是误导显示了"顶部丈夫标签),因此,当丈夫搜索"在:收件箱标签:丈夫",原始查询中有"丈夫"标签的客户的新电子邮件回复没有显示在他的搜索下.我花了很多时间和大量的毛发来解决这个问题!

然后我考虑改变主题,丈夫的电子邮件最后有"[询问]",当他把它传递给妻子时,他只是将主题的那部分改为"[Booked]"并且他们每次搜索对于有"询问"(丈夫)或"已预订"(妻子)的受试者,但这并不能解决他们的问题,因为改变主题会产生新的对话,所以妻子失去了丈夫在原版中创造的所有Gmelius笔记售前谈话.所以改变主题似乎已经出局了.

接下来,我尝试使用星星而不是标签(黄色星号电子邮件用于丈夫,未加星标的电子邮件用于妻子),希望星星适用于每个对话(与标签不同).但是,不幸的是,试验和错误证明每个消息也添加了星号.所以明星似乎也出局了.

最后,这种解决每条消息标签问题的方法是不可行的,因为必须在售前客户每次回复时不断进行.

因此,我陷入困境,不能为我的生活找出如何设置他们的Gmail,他们可以每个人(书签)搜索他们每个人负责的所有电子邮件(丈夫的预售) ,妻子的售后,没有混合或交叉)考虑:

  1. 他们都使用相同的电子邮件地址,
  2. 售前和售后电子邮件都必须是同一个对话的一部分,以便妻子拥有客户的所有Gmelius笔记和电子邮件历史记录,以及
  3. 每个消息都应用标签,而不是每个会话.

当然,必须有一种方法可以在上述限制范围内解决这个问题,但我的头发已经不多了!

我怎么解决这个问题?

...

更新到CLARIFY

如果来自服务器的新电子邮件查询被Gmail过滤分配了"丈夫"标签(过滤器:如果来自服务器的新电子邮件,则分配"丈夫"标签),但后续回复来自丈夫和同一对话中的客户服务器没有被分配任何标签,因为他们的电子邮件地址没有过滤器,并且无法根据标签创建过滤器,因此搜索时该对话中的新回复不会显示,in:inbox label:Husband因为来自客户的新回复不会尽管由于第一条消息(来自服务器的电子邮件查询)具有"丈夫"标签而在显示"丈夫"标签的对话中分配了"丈夫"标签.因此,考虑到所有这一切,如何自动解决这个问题,以便丈夫(和妻子)可以看到他所有的新电子邮件,只有他的新电子邮件, …

collaboration email gmail label filter

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