草庐IT

应不应该

全部标签

javascript - 在发布然后使用 BCRYPT 之前,我应该如何散列密码?

我正在制作一个登录系统,当登录时,密码当前从JavaScript发送到一个PHP文件。在PHP中,我使用以下代码进行哈希处理。$hash=password_hash($_POST['password'],PASSWORD_BCRYPT);在使用POST发送密码之前,我应该如何在JavaScript中散列密码?我显然不想影响BCRYPT的安全。 最佳答案 客户端所做的并不真正由您控制。我的意思是,即使您对密码进行哈希处理,客户端也有可能在哈希处理/加密之前获取密码。varpassword=document.getElementById

php - PHP 应用程序是否应该对不正确的数据库值执行错误处理?

想象一下……我在数据库中有一个名为“current_round”的字段。这可能只在0,1,2,3范围内。通过应用逻辑,不可能将大于3或小于0的数取到数据库中。是否应该进行错误检查以查看值是否格式错误(即不在0-3范围内)?或者这只是不必要的开销?是否可以假设数据库中的值格式正确/范围正确等(假设您正确处理/评估所有用户输入?) 最佳答案 我通常不会验证数据库中的所有数据。相反,我尝试对数据库施加约束。在您的情况下,根据0、1、2、3的含义,我可能会使用带有外键约束的查找表,或者如果它们只是数值,我可能会使用检查约束(与下一个数据库供

php - 网站的图片文件夹和图片是否应该存储在 SVN 存储库中?

我目前正在将我们所有的PHP网站导入SVN存储库。每个站点都有一个图像文件夹,其中包含所有站点图像。图片更新非常频繁,因为其中大部分是提供的图形。图像(二进制文件)应该存储在存储库中吗?另一个问题是它们一直在更新。您将如何频繁更新工作副本中的图像,因为您不能像编辑源文件那样在文本编辑中编辑源文件,它们需要用更新的图像替换,版本系统将如何处理这个问题? 最佳答案 SVN能够处理二进制文件,包括(但不限于)图像。您可以像普通文本文件一样使用它。唯一不同的是一旦更改,它是作为一个整体更改的,而不是像普通文本文件那样作为一个补丁。

php - 调用本地 Web 服务时是否应该担心 HTTP 开销?

我目前正在重新开发一个相当大规模的PHP网络应用程序。这种重新开发的一部分涉及将大量相当庞大的业务逻辑从网络应用程序的核心中移出,并将其移至一组SOAP网络服务中。我目前(只是稍微)担心的是本地HTTP流量带来的开销。我应该解释一下,目前以及在可预见的future,SOAPWeb服务将驻留在同一台物理服务器上,并且如果它们发生移动以及当它们移动时,它们将保留在同一网络上。让我担心的是,对于每个内部php函数调用的调用,现在都是调用类似函数调用的http请求。很明显,随着我们进一步推进,这是我可以衡量的事情,但我想知道是否有人可以提供任何建议,或者更重要的是分享以前在这条路线上进行申请的

php - PHP 中带有 PDO 语句的 print_r 应该返回什么?

$dbh=newPDO("sqlite:/Library/WebServer/Documents/nwind2009.db3");$sql="SELECT*FROMCustomers";print_r($dbh->query($sql));返回:PDOStatement对象([queryString]=>SELECT*FROMCustomers)但如果我这样做:foreach($dbh->query($sql)as$row){echo$row['CompanyName'];}我得到了数据。为什么print_r不显示数据库结果?foreach中发生了什么特别的事情?我认为print_r向

php - 所有数据都应该通过 HTTP-POST 发送吗?

我有一些jQuery可以将数据发送到AddComment.php页面。数据是用户id(可以通过session获取),itemid和文本形式的评论。在这种情况下,是否应该通过POST发送所有数据?是否存在GET和POST混合使用的情况? 最佳答案 去阅读RFC2616。GET和POST有非常具体的语义,它们对缓存和日志记录有很大影响。在您的示例中,要添加的数据应在POST中发送。是否应该通过POST或GET变量发送对被评论项目的引用是有争议的。(您可以使用查询字符串POST到URL,任何有能力的网络语言都应该能够区分通过这两种方法发送

php - 为什么不应该使用 is_null()?

运行CodeSnifferPHP样式测试时出现以下错误:Theuseoffunctionis_null()isforbiddenSquiz.PHP.ForbiddenFunctions.Found为什么禁止使用is_null()? 最佳答案 为了保持一致性,我们在Squiz标准中实现了这条规则。标准的另一部分禁止隐含表达式,例如if($var){...。所以你需要编写if($var===TRUE){...。因此,NULL值的比较如下所示:if(is_null($var)===TRUE){}考虑到您已经必须编写比较的后半部分,因此更容

php - 我应该在我的 php 项目中使用 `DateTimeInterface` 吗?

最近,我发现有一个DateTimeInterface.当我使用\DateTime和\DateTimeImmutable时,我认为输入提示会很好。然而在php.net上的变更日志上它说从5.5.8开始:TryingtoimplementDateTimeInterfaceraisesafatalerrornow.Formerlyimplementingtheinterfacedidn'traiseanerror,butthebehaviorwaserroneous.上面写着我永远无法实现我自己的CustomDateTime类来实现DateTimeInterface,这看起来很奇怪。我应该在

javascript - 使用 AJAX 时,我应该在 .php 中重命名我的 .html 吗?

我有一个index.html页面,其中有一个使用XMLHttpRequest通过Javascript运行php代码的按钮。php代码只是读取index.html并进行计算,但不会注入(inject)php代码。由于代码无效,我想知道是否必须将文件index.html重命名为index.php。我应该这样做吗? 最佳答案 添加到Jesse'sanswer:Youonlyhavetorenamethepageto.phpifthereisPHPcodeonthatpagethatneedstobeexecuted.Ifthatisnot

php - 我应该如何弥补 PHP 中静态初始化器的不足?

我正在考虑将每个类放入一个单独的文件中,并在类定义之外进行静态初始化。问题是初始化将在实际需要所述类之前发生(当第一次包含包含该类的文件时会发生)。这是一个问题,因为可能会发生根本不会使用该类的情况,因此不需要进行初始化。而且我认为不在代码开头包含使用过的文件的做法简直是一种肮脏的技术。如果有人对此问题有可行的解决方案,我将不胜感激。 最佳答案 看看这样的代码。它使用数据库的单例实例,但您仍然可以创建该类的实例:classDB{privatestatic$_db;publicstaticfunctionpdo(){if(is_nul