我正在开发一个允许用户对某些项目进行投票的PHP脚本。任何用户无论是否登录都可以投票。考虑以下情况:如果用户已登录,我可以记录用户的ID,如果他再次尝试投票,我可以限制对同一项目的投票。如果用户未登录,我可以登录用户的IP,并限制从同一IP对同一项目投票。如果是第一种情况,则无需记录IP。现在,第二个案例有点让我抓狂。我想知道用户可能正在更改IP,然后对同一项目再次投票。现在,即使我使用Cookies或Sessionvars,也可能发生用户正在开始新session(或已删除cookies)再次对同一项目投票的情况。我错过了什么吗?如果没有,如何处理这种情况?有什么想法吗?
打开“portable_hashes”。我注意到,无论出于何种原因,它生成的哈希值并不总是相同的——但在通过“CheckPassword”传递时始终返回有效值。我还注意到在生成哈希时使用了“PHP_VERSION”——这两件事结合在一起让我很担心……便携性如何?我可以在服务器、Linux、Windows、64位、32位等之间移动哈希值(保存在用户数据库中)并且仍然让它们验证吗?我需要做什么才能使密码不再有效?我问的原因是因为我在我的框架中使用phpass作为密码,这将为我的几个网站提供支持,其中许多网站目前有数千名用户-在某些情况下我不得不移动它们到不同的服务器上,当然还要升级php。
我必须用PHP编写一个脚本来扫描其他PHP文件以检查是否存在危险的函数调用,例如eval,exec。是否有可用的解析器可以为我提供代码的逻辑结构。或者我必须使用正则表达式。谢谢,欢迎任何类型的建议。阿什迪普编辑:我不认为它是“一枪毙命”。我还有一些其他的想法,但它仍然是我必须要做的事情。 最佳答案 不要,你只会搬起石头砸自己的脚。PHP是一种高度动态的语言。您可能甚至无法想象执行代码的可能性有多大。我曾尝试过为沙盒预处理PHP,根据我的经验,我可以告诉您非常很难解释所有情况。要大致了解您所面临的情况,请查看exploitablefu
我刚刚接到一项任务,要处理一个老式开发的网页。也就是说,常用的变量/常量和数据库连接的变量都在查看php-engine中,而不是在一个单独的文件中。:-(我想我会把它们放到config.php或config.inc文件中,然后只使用withrequire_once('/path/filename');在引擎中。我的问题是,我不熟悉安全,所以我想,我更改权限(也许是755?)。还有什么我可以做的吗? 最佳答案 将配置文件移到公用文件夹之外,这样就无法通过URL访问它。否则,您的网络服务器中的错误配置可能会发送未解析的文件(有人可能会忘
我的问题是关于session固定的总结:爱丽丝在银行有一个账户http://unsafe.com/.不幸的是,爱丽丝不是很懂安全。马洛里出去从银行取爱丽丝的钱。Alice对Mallory有一定程度的信任,并且会访问Mallory发给她的链接。Mallory已确定http://unsafe.com/接受任何session标识符,接受来自查询字符串的session标识符并具有没有安全验证。http://unsafe.com/因此不安全。马洛里给爱丽丝发了一封电子邮件:“嘿,看看这个,有一个很酷的新我们的帐户摘要功能银行,http://unsafe.com/?SID=I_WILL_KNOW_
我认为这里的问题和答案都应该不会很复杂。我已经安装并配置了FOSUserBundle以在带有Symfony2的项目中使用。我需要知道的是,当用户尝试访问禁止的url时,我在哪里告诉安全性它必须重定向用户的页面。默认为/login。但我想将其更改为更通用的/main。提前致谢 最佳答案 不是FOSUserBundle做的,而是Symfony2中的Security系统做的。您需要在security.yml中设置以下内容:firewalls:main:form_login:default_target_path:/path/to/redi
最近我所有的php文件都在每个文件的开头开发了一些垃圾代码,我会在最后粘贴一个文件给你看。我清理此代码的任何文件都停止工作或存在一些重大问题。请帮忙,下面的文件是我认为添加按钮的代码,如果我按原样使用这个文件那么一切正常,如果我删除垃圾代码然后它停止工作^#zx7825_t%x5c%x7825:osvufs:~:>2*!%x5c%x7825z>32qp%x5c%x7825!|Z~!!2p%x5c%x7825!|!*!***1^W%x5c%x7825c!>!%x5c%x7825i%x5c%x785c2^>!}W;utpi}Y;tuofuopd%x572]48y]#>m%x5c%x7825
我读过许多关于如何将字符串过滤为“字母数字”的其他问题,但所有这些问题都建议使用preg_replace()方法。根据OWASP:Functionpreg_replace()shouldnotbeusedwithunsanitiseduserinput,becausethepayloadwillbeeval()’ed13.preg_replace("/.*/e","system(’echo/etc/passwd’)");Reflectionalsocouldhavecodeinjectionflaws.Refertotheappropriatereflectiondocumentati
我阅读了文档,但无法了解如何从Cakephp3中的app.php获取Security.salt值。我正试图像这样得到它$salt=Configure::read('Security.salt');导入以下库useCake\Core\Configure;useCake\Core\Configure\Engine\PhpConfig;请帮忙。Cakephp版本是3.4 最佳答案 Configure::Read('Security.salt')将在cakephp3版本运行之前在cakephp3.x中返回空白值。为了从配置文件中读取盐,您需
在注册的时候,我在纠结怎么设置用户密码:让用户选择。如果我这样做,我必须执行一些标准(长度、弱点、可能涉及正则表达式等)当你选择这种方式时你通常会做什么,为什么?是否有适用于PHP的库?自动为用户生成密码并将其通过电子邮件发送到他们提供的电子邮件地址。如果没有密码,他们就无法登录,所以这也是电子邮件验证。问题是密码可能太难让用户记住。如果我允许他们将它改成更简单的东西,那就违背了我最初为他们选择它的目的。我还担心在电子邮件中传输密码(作为普通的未散列密码)的行为。我倾向于第二种,但在选择之前更希望得到更明智的答案。可能有些事情我没有注意,比如用户便利性和其他技术问题。你是做什么的?编辑