只是想知道关于PHP托管我应该了解哪些安全注意事项?谢谢 最佳答案 以下是一些事情:禁用eval、passthru、shell_exec等函数远程url注入(inject),禁用allow_url_fopen禁用register_globals别忘了:你也有责任。编写安全代码,阅读安全教程。PHPSecurityGuide最后按照Rook的建议,您应该运行:PHPSecInfo脚本,用于查看主机的安全设置。http://phpsec.org/projects/phpsecinfo/对于网络托管服务商和开发团队在开发环境中,确保您有适
我一直在试验OpenID,并设置了一个示例网页以使用我的OpenID帐户进行访问。我正在使用PhpOpenIDLibrarybyJanrain它不适用于我的Google帐户。一点研究让我找到了thisquestion,这表明问题在于Google使用https和......it'slikelythesetupformakingHTTPSrequestsisborkedonyourPHPserver.Checktomakesureyouhavetheca-certificatespackageinstalled.在同一个线程中,有人链接到他们的hackedversionofthelibra
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我将读取和写入数据库的方法放在一起并通过URL公开它们(我使用CodeIgniter框架并使用URL段将参数传递给这些方法)。最初的想法是让我的Ajax脚本调用这些方法。但是,现在我想我可能会将这些方法公开给任何开发人员。我应该怎么做才能确保只有授权的开发人员才能使用我的API?我认为他们应该将APIkey和可能的密码传递给每个方法调用。如果我向他们提供此类详细信息,是否足够安全?此外,我认为我应该支持P
我一直在阅读有关PHP语言环境的文章,似乎setlocale()有线程问题。(我对线程不太熟悉——文档提到它不是线程安全的)我想让我的项目能够处理某些数字格式,而且Intl扩展似乎很有趣。http://php.net/manual/en/book.intl.php我是否应该预料到setlocale()使用Intl扩展时会出现同样的问题? 最佳答案 好吧,我自己也对此很好奇,所以我设计了一个测试。首先我用这两个文件测试了setlocale():和然后我在两个单独的选项卡中执行它们。首先是locale1.php,它会在设置语言环境后休眠
我正在使用CodeigniterPHP框架。在其中一个配置文件中,您可以设置允许的URL字符:$config['permitted_uri_chars']='a-z0-9~%.:_\-';因此,如果我尝试转到此url:website.com/controller/%22quotedString%22,我将收到错误消息,除非我将引号附加到允许的字符:$config['permitted_uri_chars'].='"';我的应用程序实际上需要在URL中允许所有奇怪的字符,但我不希望有一个巨大的硬编码字符列表。Codeigniter警告不要允许所有字符:/*|---------------
我是新手,我有一个问题,我想构建一个安全性为50%的php脚本。我只想做一个基于phpsession的登录系统。因此,当我在互联网上阅读学习资料时,我们可以在session中存储用户ID或用户名,例如:$_SESSION['username']=$user_name;那么,这样做安全吗?其他人可以建立一个假session并访问管理区域吗?如果可能,解决方案是什么?我们可以在session中存储哈希密码吗?! 最佳答案 session值存储在服务器上。因此,不可能从客户端获取或更改session的内容。有人可以创建session的唯一
我想在HTML中使用一个随机的id属性:_slideshow_prev">_slideshow_prev">我正在使用PHP方法uniqid生成它,但我不知道它是否安全且符合W3C标准?我对合规性的关注是PHP输出的生成的HTML。并非所有字符都允许出现在HTML属性中,所以我想知道uniqid()是否只生成允许的字符。 最佳答案 uniqid返回id,包含十六进制符号(0-9,a-f)。这在手册注释中有解释-http://php.net/manual/en/function.uniqid.php#95001所以,是的,这对于htm
我的JS代码(只是例子,可能有一些语法错误)$(document).on('click','#btnEdit',function(e){varid=$("#inp_id").val(),ps=$("#inp_ps");$.ajax({type:'POST',url:'http://example.php',data:{act:'#LogIn',id:id,ps:ps},success:function(response){if($.trim(response)==="success"){alert("LoginSuccessful");}else{alert("InvalidIDorP
我是php新手,我可以做一个简单的登录页面,例如在php页面中创建表单、提交表单、处理和验证等。我在互联网上的某处阅读,看到一些大公司,如银行、谷歌和雅虎,他们的登录表单是“https”而不是“http”。所以我尝试谷歌什么是“https”。嗯,我不能说我完全理解那个东西是什么,但我想我知道这个概念,即创建一个更安全的登录页面。我相信php可以做到(因为我看到wordpress使用https,而wp使用php)。是否有任何教程,或者你们可以提供有关如何使用php进行安全登录https页面的示例代码?不需要完整的代码(因为我不想麻烦你们),但如果能提供完整的代码,我将不胜感激:)
我有一个包含以下行的PHP脚本:$query="SELECT*FROMproductsWHEREproduct_id='".filter_var($_GET[id],FILTER_SANITIZE_NUMBER_INT)."'";这样够安全吗?您将如何改进此代码? 最佳答案 在这种情况下是安全的,但对于更通用的方法,我宁愿将mysql_real_escape_string与类型转换结合使用:$query="SELECT*FROMproductsWHEREproduct_id='".(int)mysql_real_escape_str