我想从PHP调用java app:
exec('LC_ALL=en_US.utf-8 java -jar /test.jar' . $filepath . ');
但文件路径中始终存在不受支持的字符。
例如:#& ; ? * [SPACE] ...,将其更改为#\& ......没关系。
但是找不到这些字符的完整列表。
有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
查看escapeshellarg()
和escapeshellcmd()
。
他们将为您照顾所有必要的卫生设施。
如果$filepath
来自外部(例如来自用户输入),则运行escapeshellarg()
强制以防止注入。
答案 1 :(得分:0)
我的问题已解决。