RT, je fais actuellement un audit de code pour un projet PHP et j'ai trouvé une méthode vulnérable, mais comment puis-je savoir rapidement où cette méthode a été appelée dans tous les autres fichiers et où se trouvent les paramètres pour appeler cette méthode ? transmis. Ce serait beaucoup plus pratique s'il existait un tel outil, veuillez le recommander.
Je n’ai pas de bonnes méthodes. Je vais juste parler de mon approche, j’ai l’impression que l’affiche l’a déjà essayée.
PhpStorm
, cliquez sur la méthode, appuyez sur la touche de raccourciALT + F7
ouCTRL + ALT +SHIFT +F7
pour trouver toutes les utilisations. Pour les variables paramètres, appuyez surF4
ouCTRL + bouton gauche de la souris
pour trouver la source. (Il existe en fait de nombreuses références introuvables dans ce type de recherche), comme parcourir une collection d'objets pour appeler la méthode de cet objetPhpStorm
,点击方法,按快捷键ALT + F7
或CTRL + ALT +SHIFT +F7
查找所有使用。参数变量按F4
或CTRL + 鼠标左键
查找来源。(这种查找其实还有很多引用没有办法找到),如循环某个对象集合中调用这个对象的方法如果是动态方法,如
function test()
全局搜索->test(
和->test (
如果是静态方法,如
static function test()
全局搜索Class::test(
和Class::test (
通过上面三种步骤,还是可能遗漏,如动态参数调用,所以还要兼顾搜索一下方法字符串
S'il s'agit d'une méthode dynamique, telle que'test'
function test()
, recherchez globalement->test(
et->test (
🎜 🎜🎜S'il s'agit d'une méthode statique, telle questatic function test()
, recherchez globalementClass::test(
etClass::test ( code>🎜 li> 🎜Grâce aux trois étapes ci-dessus, vous risquez encore de manquer des éléments tels que des appels de paramètres dynamiques. Vous devez donc également envisager de rechercher la chaîne de méthode
'test'
🎜🎜PHPStorme
phpStorm mais on ne peut pas juger avec ajax
Si vous souhaitez vérifier le transfert des paramètres et les changements de valeur de l'appel en cours, vous pouvez utiliser l'outil de débogage php Kint est recommandé.
Si vous souhaitez savoir quels fichiers peuvent être appelés, vous pouvez utiliser sublime pour rechercher dans le .
Les outils recommandés ci-dessus sont tous très légers et petits.