草庐IT

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

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

php - 用一个项目保存多个类别

我正在构建一个网站,您可以在其中添加具有多个类别的项目。在一个字段中存储多个类别并仍然保持该字段可搜索的最佳方式是什么? 最佳答案 您不会在一个字段中存储多个类别,而是创建一个单独的表来为每个项目分配类别。类似这样:--createyourtabletostoreitems/productscreatetableitems(idint,--thiswillbethePKnamevarchar(10));insertintoitemsvalues(1,'product1'),(2,'product2');--createyourtab

php - 使用 safemysql 类来防止 SQL 注入(inject)是个好主意吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我想知道是否有人对这个脚本/类有经验safemysql?(本脚本的开发者除外)它被宣布为mysql查询最安全的方式,可以防止站点遭受sql注入(inject)......我真的很喜欢你使用它的方式。但它真的“安全”吗?这是好的代码吗?…关闭mysql连接怎么样,这在这个脚本中没有发生…不是必要的吗?很乐意与您讨论这个问题!

php - SQL 更新 id = 1 的行

我的php脚本有问题。我设置这些变量:$v1=mysql_real_escape_string($_POST["v1"]);$v2=mysql_real_escape_string($_POST["v2"]);$v3=mysql_real_escape_string($_POST["v3"]);$v4=mysql_real_escape_string($_POST["v4"]);我希望每次都将这些值更新到我的数据库中id=1的行(该行已经存在,只需要更新)。然后我应该插入还是更新该行?我已经尝试过但没有成功:$sql="INSERTINTOtable1(v1,v2,v3,v4)WHER

php - 在 prestashop 中获取图片 url

我需要为我的网站制作一个比较网站的提要。必须是sql语句。现在我有这个:selectpl.nameasTitel,ROUND(p.price*1.21,2)asPrice,replace(concat('http://',ifnull(conf.value,'domain/'),cl.name,'/',p.id_product,'-',pl.name,'.html'),'','-')asLink,concat('http://',ifnull(conf.value,'domain'),'/img/p/',p.id_product,'-',pi.id_image,'.jpg')as"Im

php - 如何在 Doctrine 中对 more andWhere 或 Where 进行分组

SELECT*FROMdgWHERE(a1)OR(a>1AND((c=3ANDB我不确定如何正确分组更多andWhere和orWhere。我找到了组moreAND的示例,但没有找到OR的示例。对于实验。WHEREa=1AND(a>1Orb=2)AND(a>1ORc=2)工作查询是:publicfunctionmyQuery(){return$this->createQueryBuilder('dg')->where("a=1")->andWhere("a>1ORb=2")->andWhere("a>1ORc=3")->getQuery()->getResult();}我如何在Doctr

php - GCP SQL Postgres 权限问题 : can't run a query with postgres user with generated symfony db

我正在努力使用GoogleCloudPlatform的CloudSQL组件解决这个问题。我的技术栈包括在GoogleKubernetesEngine(GKE)部署中托管我的应用程序,使用CloudSQL代理sidecar连接到pod内的数据库。后端是一个Symfony项目。我按照以下步骤创建和填充数据库(没有成功):创建CloudSQLPostgres实例将代理添加到k8s容器以使用所有凭据连接到CloudSQL实例,如GCPdocumentation中所述进入我的Symfony(phpfpm)pod并运行命令phpbin/consoledoctrine:schema:update--

php - 带有Magento的GetModel类基于不是主键的mysql字段检索数据

我想更改此代码段以从表中获取一些数据,而不是触发主键(这看起来像load()函数的默认行为),我想在我的请求中触发另一个字段...我该怎么做?$mytable=Mage::getModel('mytable/mytable')->load($mytable_id)->getData();谢谢 最佳答案 您可以使用该集合:$mytable=Mage::getModel('mytable/mytable')->getCollection()->addFieldToFilter('your_attribute_code','your_fi

php - 显示中间行包含变量的查询中的 11 个连续行

在我的网页上,有一个名为$submission的变量。我想显示下面查询中的11行:$submission等于$row["title"]的行,它上面5行,下面5行它。全部按点数降序排列。我该怎么做?$sqlStr="SELECTtitle,points,submissionidFROMsubmissionORDERBYpointsDESC";$result=mysql_query($sqlStr);$arr=array();$count=1;echo"";while($row=mysql_fetch_array($result)){echo'';echo''.$count++.'.';e

php - 跟踪用户在我的网站上花费的时间

我正在编写一个用户系统,作为我所有用户可用的统计数据,我希望能够向他们提供他们在我的网站上活跃的小时数。我最初的想法是:用户加载页面,用户的记录存储在名为accessLog的SQL表中*用户加载另一个页面,运行sql查询以查看他们上次访问页面的时间*如果用户在过去两分钟内访问了一个页面,更新他们的用户帐户并添加在线时间*在accessLog中插入一条新记录*然而,这意味着可能会向我网站的每个页面添加4个额外的查询,这看起来很慢。我在想,必须有一种更有效的在线跟踪用户Activity的方法,我显然太笨了,看不到! 最佳答案 我的做法很