草庐IT

SECURITY

全部标签

php - 设置上传文件夹 777 权限安全吗?

我见过很多上传表单被黑客入侵,有些对上传的文件进行了非常好的安全检查(至少我是这么认为的),但仍然有人设法上传了PHP文件。我想知道:有没有一种方法可以上传具有777权限的上传文件夹中的文件?我正在考虑使用HTTPPUT。 最佳答案 一般来说,777是不安全的……这意味着任何人都可以读取和写入您的文件。如果您允许在您的服务器上执行上传的文件,那么HTTPPUT本身并不比HTTPPOST更安全。总的来说,如果您允许执行任意文件,您需要在服务器端进行非常好的文件检查,并且在服务器上使用chroot是明智的。在权限方面,我通常将任何可通过

php - 为什么要使用 mysql_real_escape_string,addslashes 不会阻止一切吗?

我在浏览文档时无意中发现了mysql_real_escape_string(),但我不明白为什么它在您只需添加斜杠()时就很有用。有人可以向我展示它为何有用的场景吗?我也很好奇为什么它需要数据库连接....这看起来开销很大。 最佳答案 Thereisagreatarticleaboutthishere.还有这个discussion还指出了每种解决方案的优缺点。addslashes()wasfromthedevelopersofPHPwhereasmysql_real_escape_stringusestheunderlyingMyS

php - 使用 SHA-256 进行 CodeIgniter 哈希

CodeIgniter使用MD5或SHA1进行哈希处理:$str=do_hash($str);//SHA1$str=do_hash($str,'md5');//MD5但是,我的项目需要SHA-256。我将如何解决这个问题? 最佳答案 不可以只调用php自带的hash()吗?$str=hash("sha256",$str); 关于php-使用SHA-256进行CodeIgniter哈希,我们在StackOverflow上找到一个类似的问题: https://st

php - 在 PHP 中隔离?

这是我考虑了一段时间的事情。我正在创建一个应用程序,我的用户将在其中上传他们自己的自定义主题,这意味着任何具有基本PHP/XSS/任何技能的人都将有机会引起很多麻烦。我想在一种沙盒、封闭环境中运行任何上传的文件,该环境只能访问我想要的内容(变量),除此之外别无他法。这会是一种好的做法吗?如何实现? 最佳答案 为了安全地允许任意html/javascript,每个用户必须有自己的子域。如果每个用户都有自己的子域,那么由于SameOriginPolicy,用户的JavaScript将被限制在自己的沙箱中。.如果您只想允许“安全html”

php - 隐藏 POST/GET 请求 - Flask 和 PHP

我目前正在与一位friend合作开发一款Flash游戏。当玩家完成游戏时,他想要将分数插入数据库。他将本教程用于Flash-http://www.tizag.com/flashTutorial/flashforms.php.他制作的swf效果很好-它发布了数据。问题是我可以看到来自Firebug的请求。这就带来了另一个问题——任何更高级的用户都可以在不玩游戏的情况下插入自己的分数……那么有没有办法隐藏flash游戏的请求呢?解决这个问题的正确方法是什么? 最佳答案 不,实际上没有办法隐藏发出的请求。这是不可能的,如果它在网络浏览器中

php - 标题标签中的 XSS 攻击

我有一个表单,用户可以在其中填写新闻文章。这包含标题和正文。对于每个页面都有一个唯一的标题,我在中使用用户输入(标题)-标签:$userinput我想知道-用户是否可以通过这种方式执行XSS攻击?我应该使用htmlspecialchars转义此用户输入吗??这同样适用于。-标签。我正在使用用户输入的描述:用户可以在中执行XSS攻击吗?和-标签? 最佳答案 ShouldIescapethisuserinputusinghtmlspecialchars?是的。位置无关紧要。应转义所有用户输入。引用资料:Whatarethebestpra

php - 这将如何影响防止 SQL 注入(inject)的机会?

我以前发过关于这个的帖子,但从来没有在这方面发帖,所以请看一看:有人告诉我进行sql注入(inject)的一种方法是使用1=1,这样某人就可以看到所有不属于他们的条目。但是假设我构建了我的查询,以便它也选择当前用户的user_id,这样行得通吗:$userid=Currentusersstoredidindatabase;$postid=mysql_real_escape_string($_GET['id']);现在假设我输入:domain.com/page.php?id=''OR'1'='1'Selectarticle_namefromtablewhereuser_id=$useri

php - 使用 str_replace 是否足以防止 SQL 注入(inject)攻击?

编辑如果您打算回答这个问题,请至少阅读它。不要简单地看标题,然后谷歌'sqlinjectionphp',并将结果粘贴为答案首先,我很清楚有很多资源可用于如何最好地防止SQL注入(inject),但我的问题具体是关于是否只需很少的努力就足够了。我签约的一个组织最近被告知,他们之前的承包商开发的合作伙伴(PHP)网站被发现存在重大安全问题(我个人最喜欢的是在URL中使用字符串“紧急”,您可以获得未经身份验证的信息访问站点中的任何页面...)我被要求审查PHP站点的安全性并突出显示任何主要问题。我从以前使用该站点的经验中知道,编码标准确实很糟糕(例如,跨页面重复的大量代码,差异约为5%,数百

php - 从远程表单接受发布数据是否安全?

我目前正在构建一个项目,我希望用户能够在他们自己的站点上创建表单(不使用我们的任何工具),并且只需将一些隐藏变量放在具有他们的帐号或一些唯一的表单中标识符,然后将其表单上的操作更改为我们网站的表单处理链接。我想知道的是,它是否安全,或者它是否会导致从某个随机站点接受发布数据时出现问题。我在想我们应该有一个名为“account”的隐藏字段,当页面收到帖子时,它会首先检查是否设置了“account”。然后,如果它已设置,它将检查该值是否是我们的真实客户。然后在所有这些之后,它会清理帖子数据并将其输入到我们的潜在客户捕获数据库中。我知道像zoho报价表这样的地方你可以复制和粘贴,然后当他们被

php - 在登录时重新散列随机加盐的密码会增加安全性吗?

我目前正在用PHP开发一个项目,想知道如何使我的系统尽可能安全。我目前正在使用password_hash来散列我的密码,然后将它们存储在我的数据库中。我想知道的是:将新的加盐哈希值重新散列并重新保存到数据库是否会提高安全性,还是这只是一种错觉? 最佳答案 我不认为它会增加安全性,不。您有两种风险情况:破解者闯入服务器并在那里停留了一段时间未被发现。在这种情况下,密码可以在用户登录时以编程方式捕获。这比暴力破解强哈希算法需要更少的努力。破解者闯入,窃取了数据库的副本,作为回应,系统管理员堵上了安全漏洞并迅速从备份中恢复了服务器。在第二