草庐IT

static成员

全部标签

php - 如何保护高流量网站的成员(member)照片

在实际项目(交友网站)​​中,我有以下场景:成员(member)可以上传照片(主要个人资料)并创建相册并将照片分配给它。现在成员(member)可以选择只允许注册成员(member)、高级成员(member)或他收藏的成员(member)访问相册。最简单的解决方案是隐藏相册,但如果有权访问的人将照片的srcurl发布到照片,那么拥有该url的每个人都可以访问它。我看到flickr和facebook以一种很好的方式保护它们,但我如何实现它而不需要多次查询数据库并复制用户身份验证/session。照片将存储在自己的服务器上(varnish/nginx)。有没有人知道如何在高流量的情况下做到

php - 引用 const 变量时 $this 或 self 或 static 哪个最好?

我了解到static比self好,因为self进行后期静态绑定(bind)。但我想知道哪种方法最适合引用const变量。classBlack{constcolor='black';publicfunctionbyThis(){return$this::color;}publicfunctionbySelf(){returnself::color;}publicfunctionbyStatic(){returnstatic::color;}}我检查了所有三个getter都工作正常。哪个是最好的选择?(我使用的是PHP7.0) 最佳答案

php - 在 null 上调用成员函数 getDb()

我正在使用Yii2框架和dektrium/yii2-user模块来处理restful环境中的身份验证。这是我的API目录结构:api├──config│  ├──api.php│  ├──bootstrap.php│  ├──params.php│  └──routes.php├──index.php├──modules│  └──v1│  ├──controllers│  │  └──UserController.php│  ├──models│  │  └──User.php│  └──Module.php└──runtimeapi.php...$config=[...'compo

c# - 使用 PHP 对 ASP.NET 成员身份中的用户进行身份验证

尝试使用PHP根据现有ASP.NET成员数据库对用户进行身份验证时,我遇到了一些问题。我在网上搜索过,发现现有的答案似乎对我不起作用。即:publicstaticfunctionHash($password,$salt){$decodedSalt=base64_decode($salt);$utf=mb_convert_encoding($password,'UTF-16LE','UTF-8');returnbase64_encode(sha1($decodedSalt.$utf,true));}我认为部分问题是密码哈希值实际上并不是用SHA-1计算的,因为数据库中的值是44个字符长的

php - 使类的静态成员成为函数(闭包)不起作用

(PHP7)考虑下面的代码,它试图将一个函数分配给一个变量,然后确保它只被调用一次。classa{staticpublic$b;staticpublicfunctioninit(){self::$b();self::$b=function(){};}}a::$b=function(){echo'HereIdoveryheavystuff,butwillhappenonlyinthefirsttimeIcallinit()';};for($i=0;$i在php7中,它会给出一个错误,它期望a::$b是一个字符串(要调用的函数名)。如果我使用纯变量而不是静态成员,它会起作用。我的问题是,这

php - 如何通过密码动态保护文件(图像、视频、zip)不被公开并只允许成员访问?

这是一个常见问题,解决了很多次,但由于某种原因我找不到正确的信息。一些约束和要求:LAMP堆栈技术。精细控制哪些文件可以访问。没有使用htpasswd文件的基本身份验证,我想提供一个自定义登录前端。应该能够安全地保护和提供大型视频文件所有这些网站如何在不使用基本身份验证的情况下保护其文件不被公开?谢谢!类似的问题:Performance-orientedwaytoprotectfilesonPHPlevel? 最佳答案 您通常会将对媒体文件的任何请求重定向到PHP脚本。PHP脚本执行登录身份验证,成功后,从protected位置加载

php - 关于匿名方法作为类成员的问题

我正在开发一个PHP迷你框架,其中一个方法从对象数组构建HTML表:classHTMLTableField{private$hdr;private$alg;private$fun;function__construct($descr,$align,$apply){#funmustbeananonymousfunction$this->hdr=''.htmlentities($descr)."\n";$this->alg="";$this->fun=$apply;}functiongetHeader(){return$this->hdr;}functiongetCell($row){#T

PHP的静态成员和实例成员好像没什么区别。为什么 PHP 这样做(没有警告)?

staticFunc();//static这意味着在PHP中静态方法和实例方法完全没有区别。Zend甚至没有提示(没有警告)。在Zend引擎中。静态方法和实例方法都保存在zend_class_entry.function_table中。为什么PHP会这样?这是错误还是功能? 最佳答案 这可能与DoesstaticmethodinPHPhaveanydifferencewithnon-staticmethod?重复.如果启用了E_STRICT警告,您将收到一条错误消息,否则,您可以静默调用非静态方法,就好像它是静态方法一样。正如这里和

php - SQL 成员表显示成员之间的家庭关系

几天来我一直在尝试设计这个数据库。我在访问中设计它,然后在MYSQL服务器上将其作为PHPWeb应用程序实现。我有一张table:成员成员(member)ID(自动编号,PK)成员(member)姓名成员(member)详情成员可以与其他成员有很多关系,这可能是child、parent、friend、配偶等。看着一个成员,我希望能够与现有成员建立新的关系,然后让这种关系也成为相关成员可见,无需进一步输入。成员还应该能够列出他们所有的关系。你能告诉我应该怎么做吗?我尝试了几个选项,但似乎都没有按预期工作。我对SQL很满意,我只是在一元关系设计方面遇到了麻烦。-编辑-另外,我忘了补充,由于

php - static 关键字对常量有影响吗?

classA{constFOO=1;}classBextendsA{constFOO=5;functionfoo(){printself::FOO;printstatic::FOO;}}$b=newB;$b->foo();两种情况下都打印5。那么在常量上使用static与self没有区别吗? 最佳答案 在LateStaticBinding的上下文中有区别。考虑这段代码:bar();//15如果您运行这段代码,输出将是:15当引用self::FOO时,打印1的值(即使bar()是在类上调用的B,但是当使用static关键字时,后期静态