草庐IT

nginx安全Nginx

全部标签

php - 如何安全地将 apiKey/客户端密码从 AngularJS 传递到 REST API

所以我正在进行一个项目,我将向特定的业务合作伙伴提供信息源。不需要登录,因为业务合作伙伴的前端必须将预分配的apiKey连同任何请求传递给myRESTAPI。该api仅响应包含有效apiKey的请求,并且其访问级别已在我们生成apiKey时预定义。目前我正在使用CakePHP,使用curl,传递REST请求方法,并将硬编码的apiKey作为参数。到目前为止,安全还不是问题。但是我们的团队在想,如果我们的业务合作伙伴希望他们的网站使用最近流行的JS前端框架工作(例如AngularJS)来完成怎么办。同样的场景,这么简单的任务,用JS框架是做不到的。我显然不能简单地给他们客户端密码(api

php - 以这种方式处理方程式是否安全?

我正在使用用户提供的字符串,例如“m*0.2”,其中“m”是$value并评估该字符串。允许用户使用4种基本数学运算符、小数和负数。省略任何使用其他任何东西的尝试。$equation=$metric['formatter'];$equation=preg_replace("/[^0-9*m.\/\+\-]/","",$equation);//stripsextraparamsif(strlen($equation)>1){$equation=str_replace("m",'$value',$equation);$code='$newValue='.$equation.';';if(v

php - PHP 中类型安全的通用装饰器

我想创建一个通用日志记录decorator这是类型安全的。我有很多repositories(接口(interface)),并且每个都需要一个装饰器来捕获它们可能抛出的异常,将它们传递给LoggerInterface的实例。然后重新抛出它们。可以创建一个专用的装饰器并为每个装饰器进行测试,尽管这非常麻烦(尤其是很好地进行测试),而且我宁愿避免这样做。使用__call创建一个更通用的装饰器是第一个想到的方法。然而,这会导致对象实例不实现它所装饰的存储库接口(interface)。这在我的项目中是不行的。有什么方法可以告诉PHP它确实实现了这个接口(interface),比如使用一些魔法re

php - 如何安全地执行用户提交的 PHP 代码

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:PHPsandbox/sanitizecodepassedtocreate_function对于这个非常笼统的问题,我深表歉意,但我需要一些指导。执行用户提交的PHP代码的最理想方式是什么?想想PHP的JSFiddle。我知道有些网站可以这样做,例如http://writecodeonline.com/php/但我认为那是PHP4,并且无法使用我尝试在其上运行的一半代码。我也知道我可以简单地禁用所有“有风险”的功能,但是,这并不好玩:)我知道拥有一个我们可以在StackOverflow上引用的PHPFiddl

php - NGINX - Active Directory 单点登录

我正在尝试为此找到解决方案,但没有取得太大成功。我开始计划开发一个Web应用程序,它需要Windows用户使用单点登录。我认为这更像是一个“很高兴拥有”的功能;我可以做一个身份验证表单,使用LDAP对ActiveDirectory进行身份验证,但显然SSO会更好:)有很多关于Apache和一些模块的这个问题的信息,但没有关于NGINX的信息。有任何提示/技巧,还是我应该立即放弃?我不想花太多时间尝试配置它并最终遇到一堆问题。 最佳答案 这个神奇的词是kerberos身份验证。nginx只有维护不善的模块,它们基本上都采用相同的方法。

php - Crypt 和 Salt 如何比 MD5 更安全地抵御暴力攻击?

我在PHP.net上看到MD5没用,他们建议使用crypt+salt。于是,我就去看了他们的功能描述或者在我的例子中是这样的:$stored_password=fetch_password($user);if(crypt($_REQUEST['password'],$stored_password)===$stored_password){//ok}因此,当我看到盐存储在散列密码中并且您使用该散列密码作为盐时,我认为Crypt+Salt对于输出的暴力破解(设法窃取散列密码的黑客)并不更安全).它更安全吗?对于字典攻击,我能理解它的威力,但对于对散列密码的暴力攻击,我看不到它的优势。

nginx - webserver和cgi进程如何相互通信?

我想了解webserver(例如:nginx)和cgi/fastcgi是如何相互通信的。webserver如何将cgi脚本传递给cgi进程,cgi进程如何响应请求。在Nginx中,我们这样配置,让nginx将PHP脚本传递给php-fpmlocation/{root/home/service/public_html;fastcgi_passunix:/tmp/php-fpm-test.socket;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME/home/service/public_html/index.php;includef

php - 如何允许 PHP 在不损害服务器安全的情况下写入文件

每当我想让PHP脚本将输出写入服务器上的文件时,我经常会遇到负面评论。我使用了fopen()、fwrite()和fclose()函数。我知道如何做到这一点的唯一方法是将输出文件的权限设置为0666或将其归“nobody”所有(即在我们的ApacheWeb服务器上运行PHP的用户)。那么,如果“0666”或“无人拥有”存在安全风险,您如何成功且安全地允许PHP脚本写入文件?感谢您分享有关此主题的指导。 最佳答案 如果您需要在文件上传后从PHP访问这些文件,则需要使用允许Web服务器(在本例中为apache)访问它们的权限来存储它们。人

php - 散列散列是否使其更安全?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Is“doublehashing”apasswordlesssecurethanjusthashingitonce?我在PHP中使用sha1加密密码,但我想知道对哈希进行哈希处理是否比仅对密码进行哈希处理更安全。例如:是$hash=sha1($pwd);安全性低于$hash=sha1(sha1($pwd));我不明白为什么它不会,因为反向查找站点将无法找到哈希的哈希匹配项。

php - 使用套接字安全登录

我正在尝试使用套接字创建一个安全登录程序。这是我写的代码:$myusername,"password"=>$mypassword);$body="";foreach($posted_varsas$parameter=>$value){$body.="&".$parameter."=".$value;}$headers="POST".$target."HTTP/1.0\r\n";$headers.="Content-Type:application/x-www-form-urlencoded\r\n";$headers.="Content-Length:".strlen($body)."