草庐IT

SECURITY

全部标签

php定时器只允许用户每两秒输入一次

我正在编写一个网站,您可以在其中发布内容。这适用于以下jQueryajax:$.ajax({type:'POST',url:'action/post.php',data:'posttext='+posttext+'&imageurl='+imageurl,success:function(feedback){$('#feedback').val(feedback);}});现在我想知道:任何人都可以编写自己的ajax来将内容发布到站点并一遍又一遍地执行此操作。我该如何防止这种情况?我确定我需要在post.php中进行某种安全检查——我已经听说过httpreferer,但它可以被修改,因

php - 禁用特定页面上的 Javascript 执行 (HTML/PHP)

是否有任何HTTPheader可以为特定页面禁用Javascript?我的网站提供用户生成的HTML内容(这就是为什么我不能只使用htmlenitities)并且我想防止脚本(JavaScript注入(inject))。我已经使用HttpOnly-cookies设置为仅在主域上进行身份验证,而用户内容仅显示在无法读取cookie的子域上。问题是执行JavaScript的可能性仍然太多——例如使用像onclick这样的事件属性,InternetExplorer甚至在CSS中有一个属性允许JavaScript执行(expression)这是我以前从未听说过的。我读到的另一个有趣的想法是抛出

php - 阻止对文件的直接脚本访问

目前我是这样做的:在一个文件中,我们称它为file_one.php,我有define('ROOT',realpath(dirname(__FILE__)));require_once(ROOTPATH.'/file_two.php');然后在file_two.php中,我将其放在顶部:if(!defined('ROOT'))exit;所以file_two.php的内容只有在定义了ROOT时才能访问,这发生在file_one.php中。如果您尝试直接访问file_two.php,它不会起作用,对吗?这种方法有什么缺陷吗? 最佳答案 将

php - Yii Captcha 小部件中的日语字符?

正在使用Yii开发一个日语论坛网络应用程序。问题是我们开始收到一些英语垃圾邮件,因为验证码是英文字符,任何能阅读它的人基本上都可以发送垃圾邮件。我想要日文汉字的验证码,它是多字节字符串类型。以前有人在Yii中做过多字节验证码吗?任何建议或链接都​​会有所帮助。*如果我可以预先定义显示的字符,那也很酷,但这是额外的收获。 最佳答案 我找到了解决方案(至少对于日语使用而言)。查看Yii老手softark很棒的CCaptcha扩展jcaptcha:http://www.yiiframework.com/extension/jcaptcha

php - Symfony 4 Remember Me 不起作用,浏览器重启时 cookie 被破坏

我有一个非常类似于的问题:SymfonyRememberMedoesn'twork,thecookieisdestroyedwhenbrowserreboot不幸的是,他们的解决方案并没有在Symfony4中修复它。用户登录后,将创建cookie“REMEMBERME”。如果我重新启动我的浏览器,我仍然可以看到我的cookie但是当我访问安全IS_AUTHENTICATED_REMEMBERED下的页面时,它不起作用并且我被重定向到登录页面,然后cookie被销毁并且用户必须重新登录。我一直在按照官方文档中的说明开发身份验证过程(实际上,没有花哨的定制,没有FOSUSERBUNDLE)

php - 使用 PHP 写入文件的安全隐患

我目前正在尝试使用PHP创建一个CMS,纯粹是为了教育。我希望管理员能够创建内容,这些内容将被解析并以纯HTML形式保存在服务器存储中,以避免执行PHP脚本会产生的开销。不幸的是,我只能想到几种方法:为CMS应该写入文件的每个目录设置写入权限。这听起来像是个坏主意。设置对单个缓存目录的写入权限。然后,PHP脚本可以在请求时include或fopen/fread/echo来自cached目录中文件的内容。这也许可以以Mediawiki风格的方式执行:像index.php?page=xyz这样的东西可以在运行时从cached/xyz.html读取和回显内容。但是,我需要确保$_GET['p

php - session 是否可由客户端/用户修改?

在我的PHPWeb应用程序中,我使用session来存储用户数据。例如,如果用户登录,则会生成User类的实例并将其存储在Session中。我有与每个用户关联的访问级别,以确定他们的权限。通过以下方式将用户存储在session中:$_SESSION['currentUser']=newUser($_POST['username']);例如:if($_SESSION['currentUser']->getAccessLevel()==1){//allowadministrationfunctions}其中getAccessLevel()只是User类中的一个get方法,它返回_acces

php - 在日志文件中看到可疑错误消息后

我的日志文件包含消息Thesessioncookiedatadidnotmatchwhattheexpected.这可能是一次可能的黑客尝试,大约每秒5次,持续大约10分钟。显然是某种黑客尝试。我应该为此担心吗?我可以仔细检查什么以确保我尽可能安全? 最佳答案 使用数据库存储session信息可以防止有人试图操纵他们的session数据。如果您出于任何原因不能/不想将session存储在数据库中,您也可以加密session数据,或者您可以同时执行这两种操作。进行这些更改非常简单。文档比我解释如何设置它们做得更好:http://cod

php - 启动进程,从 ps 隐藏参数

我有一个与API交互的Python脚本。该脚本从PHP页面启动。这两个脚本都是我写的,所以我可以根据需要更改其中的代码。Python脚本需要用户名和密码才能与API交互。我的第一个倾向是将它们作为CLI参数传递给Python:但是,任何人都可以通过ps查看凭据:$ps|grepsomeScript1000232952.00.21168529252pts/0S+15:470:00pythonsomeScript.pyAzureDiamondhunter2我正在考虑的替代方案是将数据写入文本文件或sqlite数据库,然后删除它们。有没有更好的主意?sqlite方法的一个限制是它需要以一种相

php - 检查用户是否登录

检查用户是否登录的最安全方法是什么?我正在使用php的框架codeigniter。$loggedIn=$this->session->userdata('is_logged_in');//returns1if($loggedIn==true):?>//dosomething这段代码是在Controller中还是在View中重要吗? 最佳答案 好吧,View是用于表示逻辑的,在这种情况下,您应该将代码保留在Controller中,但如果它与View相关,例如,如果您有导航并且如果您为登录显示不同的菜单用户然后你可以在你的Control