我有一个网站,当用户登录时,用户名存储在session变量中,我想知道从存储在该session变量中的值进行查询是否安全? 最佳答案 是,session存储在服务器端。除了保存用户名,你可以保存用户ID(int),这样占用的空间更少服务器。请记住,您应该处理CSRF和session劫持 关于php-将值存储在session变量中并对该值进行查询是否安全?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com
安全应该始终是首先要考虑的事情,对吧?我认为这个问题非常重要,以前应该有人问过,但我在搜索结果中没有找到令我满意的答案。我既需要将用户的文章内容存储在数据库中,又需要安全地输出它。但是有很多方法可以做到这一点。我可以使用filter_var()、strip_tags()、mysql_real_escape_string()、stripslashes()..。ETC。我无法选择使用其中一种,也无法确认使用其中一种是否足够安全。清理输入和输出的最佳做法是什么? 最佳答案 很简单:不要过滤输入。转义输出。当你把一些东西放在带有mysql扩
我在编辑来自用户的帖子时使用以下网址:../post/edit/3//Iftheidofthepostis3forexample为了避免用户故意修改url,例如/post/edit/5,我使用以下逻辑来确保用户在他不编辑帖子时不会编辑帖子有权限:if(//userisallowedtoeditpost){//editpost}else{thrownewAccessDeniedException('Youdonothavethepermissiontoeditthispost');}这是您编辑帖子时使用的一般方法吗?有没有办法做一些更干净的事情,以便用户无法使用url中的帖子ID?编辑我
我想关闭输出缓冲。目前它显示novalue本地和主。我运行ini_set('output_buffering',4092);并且phpinfo()没有任何变化。安全模式已关闭。接下来要检查什么? 最佳答案 output_buffering只能通过PHP_INI_PERDIR设置,根据documentation是:Entrycanbesetinphp.ini,.htaccess,httpd.confor.user.ini(sincePHP5.3)只有PHP_INI_ALL和PHP_INI_USER允许在PHP文件中设置指令。
这个问题在这里已经有了答案:HowtopreventXSSwithHTML/PHP?(9个回答)关闭9年前。对我来说看起来不太安全。显示GET元素的最佳选择是什么?像所有特殊字符上的preg_replace或htmlspecialchars之类的东西?
我正在研究php的模板系统,我开始相信纯php代码似乎是我想要使用的解决方案。我是孤独的开发者,所以没有设计师需要一个削弱的竞技场来工作。像smarty这样的模板引擎似乎受到“内部平台效应”的影响。如果我坚持良好做法(预先计算的值,仅使用foreach),我认为这会奏效。我的目标是为每个页面共享的html字符串提供单一来源。我的想法是通过include访问一个单独的php文件是实现这个目标的好方法。但是,我担心这可能会对网站造成安全隐患——我目前想不出任何具体的东西,但有人可以猜出模板的名称并直接请求它,也许会暴露一些东西他们不需要看到。(我想我可以检查一下,看看它本身是否是请求。)我
我的站点严重依赖于$_SERVER['SERVER_ADDR']。我可以信任检索到的数据吗?有没有可能找到空字符串? 最佳答案 我引用了一些php引用这似乎取决于托管PHP的服务器(尤其是apache,IIS...)http://php.net/manual/en/reserved.variables.server.phpOnWindowsIIS7youmustuse$_SERVER['LOCAL_ADDR']ratherthan$_SERVER['SERVER_ADDR']togettheserver'sIPaddress.还有一
我有下一个security.yml:security:encoders:Test\BackEndBundle\Entity\User:algorithm:sha512encode-as-base64:trueiterations:10providers:main:entity:{class:TestBackEndBundle:User,property:username}firewalls:main:pattern:/.*form_login:check_path:_security_checklogin_path:_security_logindefault_target_path:
为什么总是建议将框架文件放在公共(public)根目录之外?鉴于有时框架没有可以通过浏览器打开的.ini或.inc文件。 最佳答案 好吧,将框架源代码放在Web根目录中肯定得到任何东西。由于选择放置文件的位置是自由的,因此使用principleofleastprivilege是合乎逻辑的。:您不需要通过Web访问这些文件,因此您不会得到它。一个更具体的原因是,框架源可以很容易地披露网站上使用的框架的品牌和版本(尽管通常也可以通过检查生成的内容来获得这些信息);这反过来又可以使恶意用户更容易利用已知或新发现的漏洞。
我想创建一个安全登录,所以我想在将密码作为POST参数发送之前对其进行加密。我正在使用SHA1javascript函数来完成它。然后我意识到,如果有人截取了加密后的密码,他就可以马上使用。将其作为相同URL的post参数发送。如何确定密码来自登录输入字段?也许有一个PHPsession?我还不想使用安全http。谁有简单的替代方案? 最佳答案 HowcanIbesurethatthepasswordcomesfromthelogininputfield?你不能。最接近的是对CSRF的通常防御。…但这只会阻止人们欺骗用户将数据从他们的