草庐IT

安全设备

全部标签

php - 为什么 codeigniter2 不以更安全的方式(例如 session )存储 csrf_hash?

为什么生成的CSRF保护token没有像建议的那样通过SESSION保存和使用here?目前在CI2中,CSRF保护机制(Security类)是这样的:1.在_csrf_set_hash()函数中为CSRFtoken生成一个唯一值:$this->csrf_hash=md5(uniqid(rand(),TRUE));2.将该标记插入表单隐藏字段(使用form_open帮助器)3.用户提交表单,服务器通过POST获取token。CI在Input类的“_sanitize_globals()”函数中进行token校验:$this->security->csrf_verify();4.Secur

php - 安全地使用 PHP exec 函数

我正在编写一个PHP脚本,旨在通过exec()函数运行可执行文件(ffmpeg.exe)。问题是我读过使用exec()函数可能存在安全风险,应尽可能避免。我一直在研究如何安全地运行exec()函数,而我不断遇到的唯一一件事就是使用escapeshellcmd或escapeshellarg过滤命令字符串。我想知道的是在使用exec()函数时是否可以进一步提高安全性,或者是否有exec()的安全替代方法。任何帮助将不胜感激。这是我的代码;define('FFMPEG_LIBRARY','c:\\ffmpeg7\\ffmpeg\\bin\\ffmpeg');$transcode_string

PHP AJAX登录,这种方法安全吗?

我刚刚开始使用PHP和MySQL,并创建了一个登录表单,一切正常!现在我想添加ajax,我考虑的第一个方法是使用jQuery$.post方法。我对代码没意见,这里是我将要做什么的快速思路:functionlogin(){$.post('login.php',{username:form.username.value,password:form.password.value})}我只需要知道,这种方法安全吗?如果不安全,我应该考虑什么方法? 最佳答案 它的安全性与任何其他表单提交方法一样安全。

java - PHP 控制指纹设备

我必须在PHP中控制对基于指纹识别的系统的访问。但我不知道这样做的最佳方法是什么......我正在寻找一种设备和软件,也许这就是我要使用的:U.are.U4500FingerprintReaderdigitalpersona这个软件使用了某种SDK,所以必须使用java,有没有办法在php和java之间架起一座桥梁?。我不是javaweb服务方面的专家,但如果这是唯一的方法,如何控制指纹?设备返回的是image,还是md5string,或者它是如何工作的,如何在php中读取?你在这种事情上有什么经验... 最佳答案 这还有另一个方面

php - 这安全吗? ADOdb 准备语句

我正在使用ADOdb连接到我的MSSQL数据库。我想知道这是否足以防止SQL注入(inject)?我正在使用的准备好的查询是:$db=ADONewConnection('odbc_mssql');$dsn="Driver={SQLServer};Server=SERVNAME;Database=DBNAME;";$ADODB_COUNTRECS=false;$db->Connect($dsn,'LOGIN','PASS');$sql='SELECTlogin,etcFROMusersWHERElogin='.$db->Param('0').'ANDpass='.$db->Param('

php - 可以安全弹出登录吗?

我有一个隐藏在每个页面上的登录表单,并在需要时在点击时显示自己,而不是引发新的页面请求。我注意到,为了使登录真正安全,表单操作应指向https页面,而且登录表单本身也应位于https页面上。有没有一种方法可以使弹出式登录表单安全,而无需将整个网站设为https? 最佳答案 在http://页面上使用(理论上)转到https://的AJAX弹出窗口(或iframe)会带来两个问题:攻击者可以拦截该页面并用他自己的链接替换该链接。这可以防止用户检查它连接到哪个网站。第一个问题与thisquestion有关(不是特定于AJAX弹出窗口,而

php - 使用 eval 解析表单输入的方程式的最安全方法

我想知道在PHP中使用eval()来解析用户填写表单时输入的公式时应该检查哪些类型的内容。我看过很多关于eval()的答案,但似乎并非所有人都同意。这是我收集到的:不要对字符串使用eval(这可能是个问题,因为它是我需要解析的公式)去除来自表单的输入(我不完全确定我需要去除哪些东西)Eval可能是邪恶的,也可能不是邪恶的,并且存在安全风险(是否有其他方法可以解析字符串中的方程式?)你们认为我应该怎么做?编辑:我尝试了eval方法,虽然它确实有效,但我使用的环境卫生不支持两个以上的操作数。由于我真的不想编写自己的(可能不安全的)卫生正则表达式,所以我将查找并使用预先编写的数学类。感谢大家

php - 使用memcached存储session数据,安全吗?

我应该开发一个网站来完成一些关于书籍的自动完成数据。每个页面有大约1500个ajax请求到服务器!所以我决定使用Yii框架来完成它的主要部分,而不是使用ajax,而是使用NodeJS的Socket.IO来获得更快的响应。现在的问题是在两种编程语言之间同步session数据。使用memcached存储安全吗?我的意思是将SESSIONID保存为memcached中的键名,并使用JSON作为值。所以我可以通过PHP和NodeJS访问它。安全吗? 最佳答案 我不建议使用Memcached。缓存随时可能失效,您最终会丢失数据。我建议您使用R

php - 使用 htmlspecialchars 而不是编码 & 是否存在安全漏洞?

我目前在我的一个项目中使用以下行:htmlspecialchars($value,ENT_QUOTES,'UTF-8');因此它编码&,',",。我的问题是(由于某些内部编码原因,我正在考虑)不编码&有任何安全风险吗?因此,如果使用以下行会产生安全风险/泄漏:$value=str_replace('&','&',$value);对于,',"我很清楚为什么要对它们进行编码,因为它们可以用于html注入(inject)。但是&我没有看到任何原因(我也没有发现任何特殊的原因到目前为止的原因)。编辑:因为多次提到数据库访问。我在那里使用带有参数的学说,...所以数据库应该(相对)从SQ

php - 在 Lithium session 中存储密码安全吗?

我想使用Lithium的“cookie”session适配器。用户登录后,我将使用他的散列密码创建一个cookie。如果此cookie存在并且散列密码与数据库中的密码匹配,我将自动让他登录。这样安全吗?好吧,我不是在谈论cookie中的实际哈希值,而是加密的哈希值。我不想让任何人知道那个散列的样子:)Lithium具有“策略”,可以使用“secret”加密您存储在session中的任何数据,因此哈希将被加密。基本上我是在问Lithium的加密是否足够好。有人用过Lithium吗? 最佳答案 这取决于您的哈希算法。使用盐使您的散列更安