草庐IT

企业安全

全部标签

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 - Crypt 和 Salt 如何比 MD5 更安全地抵御暴力攻击?

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

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)."

php - 我应该如何使用 PHP 和 MySQL(不使用 OAuth)以安全的方式将 'Token Based Authentication' 实现到一组 Web API?

我使用Slim框架在PHP中开发了几个WebAPI,移动应用程序(iOS和Android)使用这些框架来处理它们的请求并获取所需的数据。最后,在每个API中,我将从移动应用程序收到的请求发送到我网站代码库中的相应函数。然后相应的函数接受请求和请求参数,处理请求并返回所需的数据。然后API将数据以JSON格式返回给移动应用程序。这是当前的工作流程。现在,我想让网站资源(即来自网站代码库和数据的功能)的可用性受用户身份验证的约束。简而言之,我想在这种情况下实现“基于token的身份验证”方案。下面应该是我实现“基于token的身份验证”后的流程:当用户通过在请求中向登录API发送用户名和密

php - 使用重定向而不是按钮通过 Paypal 付款安全地设置动态金额?

好吧,我以前没有使用过托管按钮,但这是有道理的,因为它们更安全。我环顾四周并阅读了文档(这些文档并不是很有帮助),到目前为止我找到的最好的帮助是here;尽管我仍然对将代码放在哪里感到困惑?此外,从技术上讲,我不想要“按钮”,但它们背后的想法似乎是我想要的。我只想每次都使用相同的查询变量,但只想更改价格-价格是动态的,具体取决于用户在表单中选择的内容。此外,我本身并不想要一个按钮,我更愿意使用适当的数据将用户重定向到paypal,但不确定如何在设置动态价格的同时做到这一点?如果我不必设置动态价格,我知道我可以将托管按钮的查询变量附加到URL,然后重定向到该URL,但我需要更改价格,因此