草庐IT

Elastic安全

全部标签

php - 安全的 php 主机名信息 - $_SERVER ['HTTP_HOST' ] 替代

我有一个面向公众的调试脚本,我只想在某些开发箱上运行,我希望通过检测服务器ip或名称在该脚本中以编程方式执行此操作-所以我对$_SERVER和$_SERVER['HTTP_HOST']的安全性有疑问。来自:http://shiflett.org/blog/2006/mar/server-name-versus-http-host博客文章我收集到这个var非常不安全,并且不可信。从php中找出您当前所在的框的最佳方法是什么?我想过使用FILE,因为这似乎很安全,但我不确定我是否从文件路径中获得了足够的信息。我不一定需要服务器名称,即使是ip也可以。提前致谢。

php - 学习 PHP 安全和框架概念

我是一名计算机科学专业的学生。我知道有句话叫“不要重新发明轮子”,但我觉得真正学习东西的最好方法是从头开始写东西。然而,当这个想法被理解后,开始使用业内成熟的工具。到目前为止,从PHP的角度来看,我的PHPWeb应用程序相对简单,因此我正在尝试学习安全和框架概念等新领域。我读了this适合初学者的PHP安全书籍。关于学习业内更先进的安全方法还有哪些其他建议?此外,关于学习更高级的PHP功能以及如何正确实现它们的建议是什么,例如URL重写(重写的处理,因为Apache负责实际的重写),以及PHP开发人员必须学习的任何其他主题(或网络开发人员-PHP、Python、Ruby等)?

php - 在非线程环境中使用线程安全扩展 (APC) 有什么危害吗? (PHP)

我打算用这个SimplePHPUploadwithaProgressBar,它说我需要APC扩展。我有两个APC选项,线程安全的和非线程安全的。使用phpinfo,我发现启用了线程安全,但我不确定php是否真的以多线程方式运行。我听说php仍然是多线程的测试版。无论如何,如果我的PHP不是多线程的并且不是“线程安全的”,使用APC的线程安全版本会有问题吗?tl;dr版本:线程安全的APC是否意味着更高的兼容性(适用于php单线程/多线程),还是意味着需要多线程(仅适用于php多线程)? 最佳答案 ifmyPHPisnotmutith

php - AJAX:单页应用程序结构/安全

我正在使用AJAX开发网络/移动应用程序。该应用程序有4个页面:登录页面和3个仅向登录用户显示的protected页面。我打算使用单页应用程序模式,因此所有4个页面都将立即加载,每个页面都在自己的DIVid中,并且最初只有登录页面可见。一旦用户输入了他的用户名/密码,我就创建了一个XMLHttpRequest并与内部PHP脚本通信,后者又使用准备好的语句来检查数据库中是否存在用户名/密码,并返回true或false给XMLHttpRequest。如果结果为真,我将使protectedDIV可见并从服务器加载必要的数据,创建另一个XMLHttpRequest并通过另一个PHP脚本与数据库

php - 如何将登录脚本中的安全性从 MD5 更新为更安全的内容?

这个问题在这里已经有了答案:HowdoyouusebcryptforhashingpasswordsinPHP?[duplicate](11个答案)关闭9年前。我在数据库中有一个带有salt的PHP登录脚本,但在我的注册脚本中我看到:$qry="INSERTINTOaccounts(username,firstname,lastname,password)".VALUES('$username','$fname','$lname','".md5($_POST['password'])."')";对于登录:$qry="SELECT*FROMaccountsWHEREusername='$

php - Codeigniter:将 sess_match_ip 设置为 FALSE 是否仍然安全

我正在处理一个网站,来自某些国家/地区的访问者在使用codeigniter缓存系统时遇到问题。缓存在一两个请求后被删除。经过深入调查,我将sess_match_ip和sess_match_useragent设置为FALSE,现在一切正常。将这些配置保留为FALSE是否安全?谢谢 最佳答案 它的安全性稍差,但通常是必需的,尤其是在处理移动设备或代理服务器银行后面的用户时。为确保您尽可能安全,请务必将数据库用于session,并务必设置加密key和sess_encrypt_cookie,以便混淆存储在cookie中的少量信息。您可以做的

php - PHP 抽象类的子类中的类型安全/类型提示

我正在设置我继承的框架的新部分。这是一个真正执行一些最佳实践的机会,所以我会尽可能多地尝试。框架运行在php5.4(windows环境)我已经建立了一个抽象类,BaseModel。在此我定义了几个核心功能位,例如:公共(public)访问器和公共(public)数据库交互。然后我扩展它来创建我将要使用的模型。在测试用例中,文件“UserModel”创建了一个名为“User”的类。在BaseModel中,我创建了以下抽象函数:abstractpublicfunctiongetById($id);然后在UserModel中定义这个函数publicfunctiongetById($id){/

php - 显示 PHP 异常消息会带来安全风险吗?

我想设置一条自定义消息,当我在Laravel5.1中抛出错误时向用户显示。例如,在Controller中我可能有:if(!has_access()){abort('401','pleasecontactsupporttogainaccesstothisitem.');}然后我的自定义错误页面将显示错误:$exception->getMessage();但是,如果出现SQL错误或其他事件怎么办?这不会也设置我会在我的错误页面上不知不觉地输出的异常消息吗?PHPdocsforgetMessage()不要对此进行详细介绍。如何在不引入任何安全风险的情况下设置特定的异常消息?

php - Laravel 5.3 是否可以安全地从 Laravel 项目中删除/删除存储文件夹?

我有一个Laravel5.3版本的项目,这个文件夹中的文件不断变化。从版本控制系统中删除是否安全?如果我从我的工作副本中删除该文件夹,Laravel可以继续工作吗?folderstructure 最佳答案 您会注意到在默认的Laravel5.3安装中,storage中有3个文件夹。它看起来像这样:+storage+app+framework+logs每个子文件夹都有一个.gitignore以及其他文件夹(通常也有gitignores。那些.gitignore文件通常说忽略除.gitignore之外的所有文件。例如,这是storage

PHP:php_sapi_name() 安全吗(用户可以操纵它)吗?

用户能否操纵php_sapi_name()返回的值?我有一个看起来像这样的脚本:if(php_sapi_name()!=="cli"){die("NoAccess");}//Dosomeadminstuff此脚本只能(!)通过命令行调用。上面的代码安全吗?或者有人可以通过HTTP调用脚本并在if条件之外执行它吗? 最佳答案 php_sapi_name()的返回值是可以安全依赖的。它不是从用户数据生成的。如果您不希望从您的网络服务器调用此脚本,则您不应该让您的网络服务器访问该脚本。如果您关心安全,则根本无法访问此脚本。您还提到了.ht